Entity framework 使用LINQ和ObjectSet查询多个实体时出现问题,类型转换错误?
我有一个由多个实体组成的模型。我试图在我的控制器中编写一个LINQ语句来查询其中一些实体。提前感谢您提供的任何帮助,这让我发疯 对于每个ObjectSet语句,请参见下文,我收到以下错误:Entity framework 使用LINQ和ObjectSet查询多个实体时出现问题,类型转换错误?,entity-framework,asp.net-mvc-4,linq-to-entities,entity-framework-5,Entity Framework,Asp.net Mvc 4,Linq To Entities,Entity Framework 5,我有一个由多个实体组成的模型。我试图在我的控制器中编写一个LINQ语句来查询其中一些实体。提前感谢您提供的任何帮助,这让我发疯 对于每个ObjectSet语句,请参见下文,我收到以下错误: Cannot implicitly convert type 'System.Data.Entity.DbSet<MyApp.Models.MY_ENTITY_1>' to 'System.Data.Objects.ObjectSet<MyApp.Models.MY_ENTITY_1>
Cannot implicitly convert type 'System.Data.Entity.DbSet<MyApp.Models.MY_ENTITY_1>' to 'System.Data.Objects.ObjectSet<MyApp.Models.MY_ENTITY_1>'
这是我的密码:
public class MyController : ApiController
{
private MyEntities context = new MyEntities();
public IQueryable <string> Get()
{
ObjectSet<MY_ENTITY_1> my_entity_1 = context.MY_ENTITY_1; //Error here
ObjectSet<MY_ENTITY_2> my_entity_2 = context.MY_ENTITY_2; //Error here
ObjectSet<MY_ENTITY_3> my_entity_3 = context.MY_ENTITY_3; //Error here
var query =
from MY_ENTITY_1 in my_entity_1
from MY_ENTITY_2 in my_entity_2
from MY_ENTITY_3 in my_entity_3
where
MY_ENITITY_1.something == MY_ENTITY_2.something
select new
{
Result1 = MY_ENTITY_1.FOO1,
Result2 = MY_ENTITY_2.FOO2,
Result3 = MY_ENTITY_3.FOO3
};
foreach (var myResults in query)
{
Console.WriteLine(myResults);
};
return myResults;
}
DbSet不从ObjectSet继承
你可以改变它
IQueryable<MY_ENTITY_1> my_entity_1 = context.MY_ENTITY_1;
IQueryable<MY_ENTITY_2> my_entity_2 = context.MY_ENTITY_2;
IQueryable<MY_ENTITY_3> my_entity_3 = context.MY_ENTITY_3;
这能解决你的问题吗?作为答案打分会给你2分的声誉
var query = from MY_ENTITY_1 in context.MY_ENTITY_1
from MY_ENTITY_2 in context.MY_ENTITY_2
from MY_ENTITY_3 in context.MY_ENTITY_3
where MY_ENITITY_1.something == MY_ENTITY_2.something
select new
{
Result1 = MY_ENTITY_1.FOO1,
Result2 = MY_ENTITY_2.FOO2,
Result3 = MY_ENTITY_3.FOO3
};