我想使用单个查询从数据库复杂对象中获取。让我们看看下面的例子:
SELECT TableA.*, TableB.*
FROM TableA
INNER JOIN TableA.B_Id = TableB.Id
和相应的类:
public class QueryResult
{
public TableA A { get; set; }
public TableB B { get; set; }
}
public class TableA
{
public int Id { get; set; }
public string SomeContentA { get; set; }
public int B_Id { get; set; }
}
public class TableB
{
public int Id { get; set; }
public int SomeContentB { get; set; }
}
我想从上面对数据库执行原始SQL查询,并获得具有正确设置A和B属性的QueryResult对象的集合。到目前为止,我尝试使用SqlQuery方法,但我只设法在A和B属性中获取带有空值的QueryResult对象的集合(显然返回的结果集未正确绑定到属性):
var results = ctx.Database.SqlQuery<QueryResult>(\\example_query).ToList();
请注意:
我正在使用Entity Framework 4.3和SQL Server 2012。
谢谢, 领域
答案 0 :(得分:0)
您仍然可以通过将类映射到相应的表并强制LINQ-To-Entities中的连接来使用常规EF构造:
word-break:
我认为这是唯一的方法,至少达到EF6。