私はEntity Frameworkを使用してプロジェクトに取り組んでいますが、2列のテーブルを返すテーブル値関数を使用する必要がある状況になりました。最初にコードで必要でしたが。
これが状況です
私は2列のテーブルを持っています
Table1
Id int PK
priority int
このテーブルを EF のクエリで使用したいと考えています。
テーブル値関数を使用できる方法はありますか?
私はEntity Frameworkを使用してプロジェクトに取り組んでいますが、2列のテーブルを返すテーブル値関数を使用する必要がある状況になりました。最初にコードで必要でしたが。
これが状況です
私は2列のテーブルを持っています
Table1
Id int PK
priority int
このテーブルを EF のクエリで使用したいと考えています。
テーブル値関数を使用できる方法はありますか?
EF6.1 の CodeFirst でストア関数を使用できるカスタム モデル規則を作成しました。この規則は、NuGet http://www.nuget.org/packages/EntityFramework.CodeFirstStoreFunctionsで入手できます。すべての詳細を含むブログ投稿へのリンクは次のとおりです。フレームワーク-6-1/
これを行うには、CLR for Database first アプローチによって生成された c# コードを使用します。
完全な説明については、この URL を参照できます http://blogs.msdn.com/b/adonet/archive/2011/06/30/walkthrough-table-valued-functions-june-ctp.aspx
私はこのコードを使用していましたが、うまくいきました
[EdmFunction("NorthwindEntities", "GetDetailsForOrder")]
public IQueryable<Order_Detail> GetDetailsForOrder(Nullable<global::System.Int32> oid)
{
ObjectParameter oidParameter;
if (oid.HasValue)
{
oidParameter = new ObjectParameter("Oid", oid);
}
else
{
oidParameter = new ObjectParameter("Oid", typeof(global::System.Int32));
}
return base.CreateQuery<Order_Detail>("[NorthwindEntities].[GetDetailsForOrder](@Oid)", oidParameter);
}