使用正常的sql语句,如下所示
$openingHours[$x] -> e.g. wednesday
$openingHours[$x][0] -> first Value of wednesday e.g. "8.30 am - 1.30 pm"
$openingHours[$x][1] -> second Value of wednesday e.g. "2.00 pm - 7.00 pm"
在我建立两个相关实体,如下面
select b.*, a.name from table_b b
left join table_a a on a.id = b.aid
我的dbcontext代码在这里
public class A {
[key]
public int id {get;set;}
public string name {get;set;}
....
}
public class B{
[key]
public int id {get;set;}
public string name {get;set;}
[ForeignKey("a")]
public in aid {get;set;}
[NotMapped]
public string A_name{get{return this.a.name;}}
public virtual A a {get;set;}
...
}
它适用于我,但看起来非常愚蠢,好像B类有许多相关的键 作为cid,did,eid等,一条记录会占用很多数据,所以在ef excepy sqlQuery还有其他任何简单的方法,比如noraml sql来获取 来自其他实体的额外财产? 最好的祝福!非常感谢
答案 0 :(得分:0)
您可以编写linq查询:
var result= ( from a in mycontext.DBSetA_Name
join b in mycontext.DBSetA_Name
on a.id equals b.id
into res
from c in res.DefaultIfEmpty()
select new {a,c}
)
.Select(x=> new
{
IdA= x.a.id,
NameA=x.a.name,
NameB=x.c==null?null:x.c.name
}).ToList();
结果将包含sql查询将给出的确切结果集。