これが機能するようになりました。Linux Ubuntu 10 / Apache2 サーバー上の Silverlight4 コンテンツを含む ASP.NET4 サイト。コンテンツは Visual Studio 2010 を使用して開発されています。VS2008 も正常に動作するはずです。
サーバ:
- Apache2 と MySQL で Linux サーバーをセットアップします。これに関するガイドはたくさんあります。
- MySQL が開発用 PC からアクセス可能であり、必要に応じてインターネットからもアクセスできることを確認してください。詳細については、こちらを参照してください:アクセス拒否エラーの原因.
 
- データベース テーブル構造をセットアップし、後でテストするためにいくつかのコンテンツを追加します。この例では、列「name」を持つテーブル「persons」があると想定しています。
 
 
- Silverlight はクライアント側のテクノロジであるため、簡単に使用でき、単純な HTML ページでアプリケーションをホストできます。
 
- Silverlight と MySQL の間に Web サービスが必要です。Microsoft の WCF RIA は 1 つのフレーバーですが、.NET が必要です。プラス面として、ASP.NET4 ページもホストできます。これをセットアップするための完全なガイドは次のとおりです。MySqlメンバーシップを使用したUbuntuでAsp.Net 4.0およびMVC2を使用してMono 2.8をセットアップする
 
ビジュアルスタジオ:
- 最新のMySQL Connector/Netをインストールし、VS を再起動します
 
- MySQL データベースをデータ ソースとして追加する
- サーバー エクスプローラーを開く -> データ接続の追加 -> [MySQL データベース] を選択します。
 
- 資格情報を入力して接続をテストする
 
 
MySQL アクセスを使用してサイトをセットアップする:
ここに役立つガイドがあります:WCF RIA対応SL4アプリケーションへのステップバイステップガイドとエンティティフレームワーク
- Silverlight プロジェクトを作成または開きます。 
- サーバー側プロジェクトの名前は通常、'ProjectName.Web' です。
 
- クライアント側のプロジェクトは、通常、'ProjectName' という名前です。
 
 
- 「ADO.NET Entity Data Model」をサーバー プロジェクトに追加します。これがデータベース構造のモデルになります。
- 「データベースから生成」を選択
 
- 作成した MySQL データベース接続を選択します
 
- アクセスするテーブルを選択します
 
 
- 続行する前に、今すぐソリューションを構築してください。
 
- 「ドメイン サービス クラス」をサーバー プロジェクトに追加します。「フードドメイン」。これにより、クライアント側の Silverlight コードでデータベース エンティティを使用できるようになります。
- [使用可能な DataContext/ObjectContext クラス:] で、前の手順で作成した Entity Framework モデルを選択します。
 
- アクセスしたいエンティティをチェックし、必要に応じて「編集を有効にする」をチェックします
 
- 「メタデータに関連付けられたクラスを生成する」にチェックを入れます
 
 
- サーバー プロジェクトの「FooDomain」に基づいて、ソリューションを再度ビルドして「FooDomainContext」を生成します。
 
テスト:
MySQL から Silverlight にデータを取得しましょう。列名が「name」の「persons」という名前のテーブルがあると仮定すると、リスト ボックスをバインドして人物の名前を表示できます。
まず、Silverlight ページを追加します。「ホーム」としましょう。Home.xaml に次を追加します。
<ListBox x:Name="TestList" Width="100" />
Home.xaml.cs ファイルに次を追加します。
public partial class Home : Page
{
    public Home()
    {
        InitializeComponent();
        Loaded += Home_Loaded;
    }
    void Home_Loaded(object sender, RoutedEventArgs e)
    {
        var context = new FooDomainContext();
        var query = context.Load(context.GetPersonsQuery());
        TestList.ItemsSource = query.Entities;
        TestList.DisplayMemberPath = "name";
    }
}
ここでは、ドメイン サービスに「FooDomain」という名前を付けたと仮定します。これにより、使用される「FooDomainContext」クラスが生成されます。
すべてが適切に設定されていれば、Silverlight プロジェクトの実行時に人物名のリストが表示されるはずです。
編集: ASP.NET はオプションではありませんが、私の例で使用されている WCF RIA Web サービスには必須です。