我想sql語句轉換爲LINQ但沒能做到這一點。我的sql語句是 -轉換SQL到LINQ語法
string strSQL = string.Format("select * from test1({0}, {1}) order by ID ASC ", IsNotNull(CID), IsNotNull(Names));
有人可以幫助我如何轉換此。
謝謝
我想sql語句轉換爲LINQ但沒能做到這一點。我的sql語句是 -轉換SQL到LINQ語法
string strSQL = string.Format("select * from test1({0}, {1}) order by ID ASC ", IsNotNull(CID), IsNotNull(Names));
有人可以幫助我如何轉換此。
謝謝
看來,test1的是類的Test1的對象的表,而這個類的Test1有CID和名稱爲空的屬性,和一個IComparable屬性Id(所以你可以通過Id訂購)。
我不知道,如果你使用實體框架,但顯然你有話要訪問您的test1的對象表:使用實體框架
IEnumerable<Test1> test1Objects = ...
這將是這樣的:
IEnumerable<Test1> test1Objects = myDbContext.Test1s;
您的LINQ查詢將是:
IEnumerable<Test1> result = test1Objects
.Where(test1 => test1.CID != null && test1.Names != null)
.Orderby(test1 = test1.Id)
在口頭上:從每TES test1Objects序列中T1項目,只需要有test1.CID的非空值和test1.Names的非空值的test1的項目。順序遞增ID順序
結果序列這假定CID是一個類。如果CID是一個可以爲空的值類型,如int?或日期時間?你最好使用:
.Where(test1 => test1.CID.HasValue() && ...
嗨,謝謝你的回覆,不幸的是,我沒有使用實體框架,我使用ado.net connectionstring。 – jacklondon
但儘管如此,使用Linq,你需要一些類的IEnumerable,這些特性。該在那裏看起來類似 –
謝謝,它會給我的理解 – jacklondon
爲此使用Linqer。它是將SQL轉換爲Linq的工具。並非所有查詢都可以轉換,但是您會發現它是一個強大的工具。
謝謝,但沒有其他辦法,我可以做到這一點,我不能運行exe文件 – jacklondon
謝謝,我不能運行exe文件 – jacklondon
OK,然後請參閱此[基本LINQ查詢操作(C#)...](https://msdn.microsoft.com/en-us/library/bb397927.aspx) –
你也可以嘗試LinqPad https://www.linqpad.net/ –