[英]Database.SqlQuery -> Entity Framework Objects
我想在實體框架中使用Database.SqlQuery運行自定義的JOIN操作。 我不想使用LINQ進行JOIN,因為它在后端生成高性能SQL方面做得很糟糕,我只想控制它的作用。
所以我的問題是-如何從數據庫的INNER JOIN操作中撤回一組對象(這是從表A到表B的JOIN,並且我想要類型A的對象和類型B的對象) .SqlQuery?
據我所知 , SqlQuery
方法使用屬性名稱將列映射到屬性。
因此,您可以只聲明具有查詢屬性的類,然后將其拆分為A
和B
對。
例:
public class AB
{
public int Id { get; set; }
public string Name { get; set; }
public string Title { get; set; }
}
var abs = dbContext.Database.SqlQuery<AB>(@"SELECT A.Id, A.Name, B.Title
FROM A JOIN B ON A.Id = B.Id");
var a_and_bs = from ab in abs
select new
{
A = new A { ab.Id, ab.Name },
B = new B { ab.Title }
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.