LINQからSQLデザイナに生成されたストアドプロシージャの結果のクラス名を変更するにはどうすればできますか?LINQ to SQL:ストアドプロシージャの結果
また、ストアドプロシージャの結果セットに対してlinqクエリを実行するにはどうすればよいですか?
LINQからSQLデザイナに生成されたストアドプロシージャの結果のクラス名を変更するにはどうすればできますか?LINQ to SQL:ストアドプロシージャの結果
また、ストアドプロシージャの結果セットに対してlinqクエリを実行するにはどうすればよいですか?
あなたはDBMLでこれを編集することができますか?すなわち
var qry = from row in ctx.SomeProc(12345)
select new Foo {ID = row.ID, Name = row.Name };
など - 個人的に、私は私自身のPOCO表現にDALに対してローカルでのDTOとして(関数やストアドプロシージャからの)自動生成された型を治療する傾向があるので、私はすぐに再マッピングし、それら"もう一度、どのようにストアドプロシージャの結果セットでlinqクエリを実行できますか? - あなたはそれを構成したい場合、私は、ストアドプロシージャの代わりにUDFを使用することをお勧めします:これは、データベースの構成を行うことができ、例えば、ページングとフィルタリングのために:
var qry = (from row in ctx.SomeFunction(12345)
where row.IsActive
select row).Skip(10).Take(10);
べき(でLINQ-へ-SQLは少なくとも)サーバーでTSQLのすべてを行います。そうしないと、あなたはAsEnumerable()
を呼び出し、呼び出し.NET層でLINQツーオブジェクトを使用することができます。
<Function Name="dbo.CustOrderHist" Method="CustOrderHist">
<Parameter Name="CustomerID" Parameter="customerID" Type="System.String" DbType="NChar(5)" />
<ElementType Name="FooBar"> <!-- ********** HERE ************ -->
<Column Name="ProductName" Type="System.String" DbType="NVarChar(40) NOT NULL" CanBeNull="false" />
<Column Name="Total" Type="System.Int32" DbType="Int" CanBeNull="true" />
</ElementType>
</Function>
:こちらを
ElementType/@Name
を変更、(XMLだけである)DBMLを編集するには
var qry = (from row in ctx.SomeProc(12345).AsEnumerable()
where row.IsActive
select row).Skip(10).Take(10);
ああ!右 - 私は "選択行"が欠けていた。固定 –
DOH! LINQを使って作業するときに本当に助けてくれることが分かりますか? System.Linqを使用します。 –
さらに、保存された プロシージャの結果セットでlinqクエリ を実行するにはどうすればよいですか?
var query = from results in datacontext.storedprocedurename()
where results.whatever == 1
select results;
参考資料:http://blog.benhall.me.uk/2008/05/linq-to-sql-stored-procedure-vs.html –