gpt4 book ai didi

c# - 访问/使用 View Entity Framework 6 Code First 方法

转载 作者:太空狗 更新时间:2023-10-30 00:51:57 25 4
gpt4 key购买 nike

我创建了一个 SQL Server View ,它在其他表/实体上执行一些相当复杂的逻辑并公开了一系列列。我只想以 Entity Framework 代码优先方法访问此 View ,当我在 this 中看到讨论时我只是跟随并创建了一个类“FooView.cs”并将其添加到 DbSet<FooView>我的 DbContext 类中的属性。

     public class FooView
{
public string PartNumber { get; set; }
public string PartType { get; set; }
}
public class CatalogContext : DbContext
{
public DbSet<FooView> FooView { get; set; }
}

但是当我运行我的代码时,我收到一条错误消息:EntityType 'FooView' 没有定义键。为此 EntityType 定义键。

      CatalogContext _db = new CatalogContext();
var l = _db.FooViews.Select(_ => _.PartNumber);

但我想让它做的就是从数据库访问我的 View dbo.FooView

这个问题更简单的解决方案是创建一个 EDMX 文件并访问 View ,但我不想有 2 个数据库上下文。

如果有人能帮助我,我将不胜感激,非常感谢。

最佳答案

您的问题正是错误消息所说的: Entity Framework 无法确定 FooView 中的键是什么。要解决此问题,只需将 [Key] 属性添加到您的 PartNumber(如果它是唯一键):

public class FooView
{
[Key]
public string PartNumber { get; set; }
public string PartType { get; set; }
}

这应该可以解决您的问题。

关于c# - 访问/使用 View Entity Framework 6 Code First 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188486/

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