实体框架返回零结果
Posted
技术标签:
【中文标题】实体框架返回零结果【英文标题】:Entity Framework returns zero results 【发布时间】:2020-09-09 06:04:56 【问题描述】:我首先使用实体框架代码创建了一个数据库,并在一个表中植入了 4 列(参见屏幕截图)。 现在我想从联系人表中检索所有联系人,但收到零结果。 如果我通过管理工作室(也在屏幕截图中)从 ef 执行生成的 sql,它工作正常。 我写了一些测试代码,但连接似乎也很好。 我不知道该去哪里找了。
public class ContactDataService : IContactDataService
public IEnumerable<Contact> GetAll()
using (var ctx = new ContactOrganizerDbContext())
List<Contact> contacts = ctx.Contacts.AsNoTracking().ToList();
//returns true
bool isValid = ctx.Database.Exists();
//returns also true
bool canOpenClose = canConnectionOpenedAndClosed(ctx);
return contacts;
private bool canConnectionOpenedAndClosed(ContactOrganizerDbContext ctx)
try
ctx.Database.Connection.Open();
ctx.Database.Connection.Close();
catch (SqlException)
return false;
return true;
//C#类
public class Contact
public int Id get; set;
[Required]
[StringLength(50)]
public string FirstName get; set;
[StringLength(50)]
public string LastName get; set;
[StringLength(50)]
public string Email get; set;
【问题讨论】:
您能否发布 C# 类及其联系人实体相关数据库表的定义? 您是否连接到正确的数据库?检查你的连接字符串我猜你在另一个实例/数据库上 您需要检查实体连接字符串以确保它是正确的。 Entity 还使用 EDMX 文件将数据库映射到 c# 中的类。如果 EDMX 文件不正确,您将不会得到任何结果。 【参考方案1】:好吧,entityframework 在两台不同的服务器上创建了相同的数据库。 所以 Arman Ebrahimpour 和 jdweng 是对的,我看错了数据库。
【讨论】:
以上是关于实体框架返回零结果的主要内容,如果未能解决你的问题,请参考以下文章