gpt4 book ai didi

entity-framework-4.1 - 使用 Find in Code First( Entity Framework )获取非主键

转载 作者:行者123 更新时间:2023-12-05 01:48:39 25 4
gpt4 key购买 nike

我的理解是find只是以主键为参数。如果您正在寻找的值实际上是主键,那效果很好。就我而言,我有一个这样的类:

 public class Chamber
{
[Key]
public int Id {get;set;}

public string ChamberName { get; set; }
}

我想检查给定的 ChamberName 是否存在于我的上下文或数据库本身中。我怎样才能做到这一点?我是否必须先自己以某种方式枚举上下文,然后通过 db.Chambers.where(a=>a.ChamberName.equals... 之类的调用在数据库中查找它?

如果 ChamberName 是我的主键,我可以看到它运行良好,但事实并非如此。

谢谢,

最佳答案

有一个名为 Local 的属性在 DbSet 中。您可以先查询它以查找加载到上下文中的实体。

var entity = db.Chambers.Local.Where(/**/).SingleOrDefault();

if (entity == null)
{
entity = db.Chambers.Where(/**/).SingleOrDefault();
}

关于entity-framework-4.1 - 使用 Find in Code First( Entity Framework )获取非主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com