Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net EF实例化数据库的原始查询一直失败_Asp.net_Entity Framework - Fatal编程技术网

Asp.net EF实例化数据库的原始查询一直失败

Asp.net EF实例化数据库的原始查询一直失败,asp.net,entity-framework,Asp.net,Entity Framework,我通过实体框架将数据库实例化为“db”, 在我的aspx后面的c班 我就是这样做的: var db = new fm_base_azure(); 行得通,我已经从数据库中取出了一些东西 现在,我只是尝试使用原始SQL查询从连接表中获取一些数据,但仍然会出现此错误 数据读取器与指定的“fm_app.meetingmember”不兼容。“Id”类型的成员在数据读取器中没有同名的对应列 代码如下: var memberObjects = db.meetingmember.SqlQuery("SEL

我通过实体框架将数据库实例化为“db”, 在我的aspx后面的c班 我就是这样做的:

var db = new fm_base_azure(); 
行得通,我已经从数据库中取出了一些东西

现在,我只是尝试使用原始SQL查询从连接表中获取一些数据,但仍然会出现此错误

数据读取器与指定的“fm_app.meetingmember”不兼容。“Id”类型的成员在数据读取器中没有同名的对应列

代码如下:

var memberObjects = db.meetingmember.SqlQuery("SELECT e0.checkedin, e1.name
    FROM meetingmember as e0 INNER JOIN member AS e1 ON e0.member = e1.id").ToList();
让我直截了当地说,这个查询是有效的。我在查询字符串中测试了它,它提取了正确的数据。
很明显,这是因为我做错了,我怀疑我使用了一个错误的引用或一些奇怪的东西。

所以我让它工作了。基于对我原来帖子的评论。 我从表和联接表中选择了所有内容。。如你所见

var memberObjects=db.meetingmember.SqlQuerySELECT*FROM meetingmember作为e0内部加入成员作为e0.member=e1.id上的e1,其中e0.meeting=+meeting_id.ToList

然后我意识到。。因为我有实体框架,所以我的模型已经创建了引用,因为它注意到了外键

这意味着我最终只得到了这段代码: var memberObjects=db.meetingmember.SqlQuerySELECT*FROM meetingmember,其中meeting=+meeting_id.ToList

所以我不做任何连接,但我也不需要,因为表已经有了引用。因此,在一个foreach循环中,我最终完成了

memberObjects中的foreachmeetingmember m { m、 “ReferencedTable”。值 }
所以我成功了。基于对我原来帖子的评论。 我从表和联接表中选择了所有内容。。如你所见

var memberObjects=db.meetingmember.SqlQuerySELECT*FROM meetingmember作为e0内部加入成员作为e0.member=e1.id上的e1,其中e0.meeting=+meeting_id.ToList

然后我意识到。。因为我有实体框架,所以我的模型已经创建了引用,因为它注意到了外键

这意味着我最终只得到了这段代码: var memberObjects=db.meetingmember.SqlQuerySELECT*FROM meetingmember,其中meeting=+meeting_id.ToList

所以我不做任何连接,但我也不需要,因为表已经有了引用。因此,在一个foreach循环中,我最终完成了

memberObjects中的foreachmeetingmember m { m、 “ReferencedTable”。值 }

您是否尝试在SELECT语句中包含e0.id?您只能通过此方法具体化meetingmember对象。使用SELECT e0.*1:@haim770我没有尝试包含e0.id,而不是按名称选择列。。但是我不明白为什么我应该,我不需要e0.id。。我需要匹配e1.id,它在meetingmember中表示为外键e0.member。@GertArnold:我不知道你的确切意思,但我不是meetingmember吗?这就是我想从中得到的。。会议成员名单。你的意思是我不能加入?你试过在SELECT语句中包含e0.id吗?你只能通过此方法具体化meetingmember对象。不要按名称选择列,而是使用SELECT e0.*1:@haim770我没有尝试包含e0.id。。但是我不明白为什么我应该,我不需要e0.id。。我需要匹配e1.id,它在meetingmember中表示为外键e0.member。@GertArnold:我不知道你的确切意思,但我不是meetingmember吗?这就是我想从中得到的。。会议成员名单。你是说我不能加入?