2012-02-15 8 views
0

私は、ユーザー名、姓、パス、電子メールアドレスをテキストボックスに入れ、これらをデータベースに追加するSilverlightアプリケーションを構築しようとしています。WCF Riaのドメインサービスクラスのメソッドを使用できませんか?

これは私がWCF Ria Servicesを使用しています。

私が続いている手順は以下のとおりです。

は、(Webパーツに)私のプロジェクトでADO.NET Entity Data Modelを添加し、次いでDomain Service class

私は、Insert、Updateメソッドのような私のDomainServiceクラスにいくつかの事前定義されたメソッドを持っています。私はDataGridにデータを表示する方法を知っていますが、それは私が望むものではありません。私が欲しいもの

は、このすべてをカスタマイズすることである。

ユーザーが送信ボタンをクリックすると、その後{現在LocalHostというの}私のSQL Serverデータベースにすべてのデータを追加することができAddInfo(all parameters)のように、この内部方法があるはずです。簡単な単語

WCF RIAサービスを使用してSQLサーバーにデータを追加するためにカスタムメソッドを使用してデータベースにアクセスするには

私は、.NETのフォームとすべてで仕事をしながら、それは非常に簡単だった知っています。しかし、Silverlightについてはどうすればいいですか?& WCF ria?

ご提案ください。

答えて

1

SQLで データを追加するためのカスタムメソッドを使用してデータベースにアクセスしますWCF Ria Servicesを使用するサーバー

サーバー側でカスタムメソッドを作成する必要があります。

サーバー側では、LinqToEntitiesDomainService<TContext>から継承するDomainServiceクラスがあります。 、データベースにユーザを追加するためのロジックは本当に簡単です

[Invoke] 
public void AddNewUser(string name, string firstName, int age) 
{ 
    // Put logic here to add the user to the DB 
} 

をちょうど新しいEntityを作成し、コンテキストに追加します。

単にたとえば、Invoke属性でこのクラスのメソッドを追加しますそしてあなたは、クライアントRIA Servicesプロジェクト、あなたの新しいメソッドが含まれていますあなたのDomainServiceに対応し、自動生成されたプロキシクラスをコンパイルするときcontext.SubmitChanges();

を呼び出して、あなたが使用してそれを呼び出すことができるようになります:

yourDomainContext ctx = new yourDomainContext(); 
ctx.AddNewUser("dsd", "ds", 42).Completed += (sender, e) => 
{ 
    // Called asynchronously when the job is done 
}; 
1

すでにあなたのドメインサービスのInsertメソッドを持っている場合は、クライアントから呼び出すことができる必要があります:簡単な言葉で

//add your new data to the context 
MyDomainServiceContext.Entity.Add(myEntity); //(where "Entity" is your entity Type) 
//send all the changes to the server 
MyDomainServiceContext.SubmitChanges(); 
関連する問題