与以下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