C# ASP.NET EF数据库字段列表中的第一个4.1 EDMX Extent1.XXX
我有一个MYSQL数据库。我有更多的用户和地址表,但问题从这里开始。我有一个网页。当我尝试登录时,它调用一个webservice并转到业务类并执行以下方法来获取用户的地址。我没有地址表和用户表的外键C# ASP.NET EF数据库字段列表中的第一个4.1 EDMX Extent1.XXX,c#,mysql,asp.net,entity-framework,C#,Mysql,Asp.net,Entity Framework,我有一个MYSQL数据库。我有更多的用户和地址表,但问题从这里开始。我有一个网页。当我尝试登录时,它调用一个webservice并转到业务类并执行以下方法来获取用户的地址。我没有地址表和用户表的外键 public IEnumerable<address> GetAddressByUserId(int UserId){ try { using (var contex = new eTicaretEntity()) { return contex.addr
public IEnumerable<address> GetAddressByUserId(int UserId){
try
{
using (var contex = new eTicaretEntity())
{
return contex.addresses.Where(x => x.UserId == UserId).ToList();
}
}
catch (Exception exc)
{
throw exc;
}
}
public IEnumerable
编辑
我很抱歉,若我告诉这个信息晚,但我添加了addresstype表后,我创建了模型。我的意思是我有桌子和edmx文件,非常好。然后我添加了这个专栏,并在问题开始后从db更新了edmx。Gert的评论是正确的,所以这里是一个新的尝试
我已经用从数据库中删除字段、存储模型和感知模型的各种组合对它进行了测试
在任何情况下,我都没有得到与问题中相同的错误。但我使用的是SQL Server
“Extent1.AddressType”来自EF生成的SQL语句。如果该列不在数据库中,则会出现“无效列名:AddressType”错误
要查找错误,请将表导入到新的EF模型中,检查它是否工作,然后将两个模型中的xml相互比较 即使edmx是用正确的数据库生成的,您也应该尝试从数据库中更新模型,只从edmx中删除地址表。数据库表没有AddressType
字段。@GertArnold您看到屏幕截图的链接了吗?我的数据库中有AddressType列。那不是数据库,而是类。我想edmx是从另一个数据库创建的。什么数据类型是AddressType?@Mez AddressType的数据类型是integer。这不是真的。“从数据库更新模型”更新存储模型和概念模型以及映射。此外,该消息清楚地表明模型包含地址类型
,但不包含数据库。这是一条MySql消息,Extent1
前缀来自SQL。