EDMXを使用してWCFデータサービスでODataサービスを作成しています。エンティティタイプの計算プロパティを作成して、その値がサービス(C#)で計算され、データベースから取得されないようにするにはどうすればよいですか?
このプロパティの値は、データベース内のフィールドにマップされている他のプロパティの値に基づいています。
2458 次
2 に答える
3
データサービス用のデフォルトのEntityFrameworkProviderを使用して、EDMXファイルを直接公開する場合は、次のようになります。
public class MyService: DataService<MyEntities> {
残念ながら、基盤となるEntityFrameworkEDMモデルにない「新しい」プロパティを公開することはできません。
他のオプションがあると言っても、追加のプロパティを追加し、ほとんどの作業を内部でEFに委任するリフレクションプロバイダーまたはカスタムプロバイダーを作成できます。
問題は、今日、すべての委任を設定することは容易ではないということです。
この一連の投稿では、プロバイダーについて説明し、カスタムプロバイダーベースのサービスを作成する方法を示します。これは、Reflectionプロバイダーを使用してサービスを作成する方法を示しています。
于 2010-10-05T15:10:29.737 に答える
2
私が見つけた解決策は、EDMXの代わりにEntity FrameworkCodeFirstを使用することです。コードで標準プロパティを作成するだけで、計算されたプロパティを作成できます。
次に例を示します。
public class Person
{
public String FirstName { get; set; }
public String LastName { get; set; }
public String FullName
{
get { return FirstName + " " + LastName; }
}
}
于 2010-10-06T08:14:01.570 に答える