C# 基于SQL语句的实体框架连接查询
我的SQL是这样的:C# 基于SQL语句的实体框架连接查询,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,我的SQL是这样的: SELECT * FROM [dbo].[INSTANCE] INNER JOIN dbo.TIME_INSTANCE on dbo.INSTANCE.INSTANCE_ID = dbo.TIME_INSTANCE.INSTANCE_ID where customer_id=15 and TIME_ID = 1013 我试着用实体框架来得到这个。我可以从instances表中按如下方式提取实例: DBContext.Instances.Where(x => x.
SELECT * FROM [dbo].[INSTANCE]
INNER JOIN dbo.TIME_INSTANCE on dbo.INSTANCE.INSTANCE_ID = dbo.TIME_INSTANCE.INSTANCE_ID
where customer_id=15 and TIME_ID = 1013
我试着用实体框架来得到这个。我可以从instances表中按如下方式提取实例:
DBContext.Instances.Where(x => x.CustomerID == id && x.StartDateTime >= dateRange).OrderBy(x => x.StartDateTime).AsQueryable();
如何像上面的SQL那样执行连接,以便在time_实例表上执行内部连接?quietgrit…我假设您正在寻找的Lambda也会执行相同的操作 我能够模拟这个并在我的数据库中运行它。我将对象的名称复制到下面的查询中。我使用容器而不是DbContext,但Lambda的笑话是一样的。让我知道这是否有帮助
private myDbContainer db = new myDbContainer();
var myJoin = db.INSTANCE
.Join(db.TIME_INSTANCE , i => i.PK_Category, ti => ti.FK_INSTANCE, ((i, ti) => new { INSTANCE = i,TIME_INSTANCE = ti }))
.Select(joinedStuff => new {
joinedStuff.INSTANCE.customer_id,//Fill in the rest of the properties you want in your query
joinedStuff.TIME_INSTANCE.TIME_ID
}).Where(n => n.TIME_ID == 1013 && n.customer_id == 15);//Add an .OrderBy() and or .GroupBy()
致以最良好的祝愿,
比尔。包括加入实体和继续谢谢,如果您能举个例子的话,我会非常感激的。我对这方面还不熟悉。谢谢您。我希望有一种方法可以使用。包括,正如评论员指出的那样。@quietgrit您的模型是否为要加入的表定义了导航属性?没有,但我正在考虑为我需要的表添加虚拟属性。