與以下SQL語句相當的LINQ是什麼?我首先使用實體框架5,數據庫。如何用linq查詢sysobjects?
SELECT Name
FROM SysObjects
WHERE xtype='U' AND Name LIKE 'D[_]%'
ORDER BY Name ASC
與以下SQL語句相當的LINQ是什麼?我首先使用實體框架5,數據庫。如何用linq查詢sysobjects?
SELECT Name
FROM SysObjects
WHERE xtype='U' AND Name LIKE 'D[_]%'
ORDER BY Name ASC
你可以用LINQ做到這一點,但只有當你映射到系統對象類,否則這將是不可能的任何其他方式。
例如:
public class SysObject
{
public int SomeUniqueId { get; set; }
public string Name { get; set; }
}
映射文件會是這樣(我使用的代碼第一種方法,你沒有說明你是如何使用EF)
public class SysObjectMap : EntityTypeConfiguration<SysObject>
{
HasKey(p => p.SomeUniqueId);
Property(p => p.Name).IsRequired();
ToTable("SysObjects"); // If there is Schema pass it as a 2nd argument
Property(p => p.Name).HasColumnName("name");
}
您需要在你的上下文類中註冊這個映射。當然,如果你使用的是數據庫優先方法,上面的代碼可能會讓你感到困惑,因爲Visual Studio生成的代碼會有很大的不同。
更新:如果採用數據庫優先方法,我相信您將能夠看到系統表。當然,你可以隨時打開生成的EDMX和實現類,並自己添加映射。另一種方法是創建一個包裝SysObjects的視圖。然後使用模型設計器添加View。
我的不好,它是數據庫第一。 – Legion 2013-03-01 22:58:49
它會是什麼? – Legion 2013-03-01 22:49:49