gpt4 book ai didi

c# - WPF 实体无法创建 View 的 ObjectSet?

转载 作者:太空狗 更新时间:2023-10-29 23:29:57 26 4
gpt4 key购买 nike

我已将数据库 View 添加到我的实体模型中。现在我试图将一个 ObjectSet 放入我的 ObjectContext 中,这样我就可以访问我的应用程序中的 View 。

对于常规表,我的 ObjectSet 将如下所示:

private ObjectSet<StarVendor> _StarVendor;
public ObjectSet<StarVendor> StarVendor
{
get
{
if ((_StarVendor == null))
{
_StarVendor = base.CreateObjectSet<StarVendor>("Stratus_X_TestEntities.StarVendors");
}
return _StarVendor;
}
}

所以我对我的 View 做了同样的事情:

private ObjectSet<CatalogItemSearch> _CatalogItemSearch;
public ObjectSet<CatalogItemSearch> CatalogItemSearch
{
get
{
if ((_CatalogItemSearch == null))
{
_CatalogItemSearch = base.CreateObjectSet<CatalogItemSearch>("Stratus_X_TestEntities.CatalogItemSearch");
}
return _CatalogItemSearch;
}
}

但是当代码运行时我得到一个异常:

System.InvalidOperationException "The EntitySet name 'Stratus_X_TestEntities.CatalogItemSearch' could not be found"

我知道对于 View 我不需要 ObjectSet 提供的添加/更新/删除功能。

我应该为此使用其他 Set 类型吗?

或者这个错误可能来自与它是一个 View 这一事实完全无关的事情吗?

谢谢

最佳答案

我想指出的是,ObjectSet API 和 ObjectContext API 是 Entity Framework 的旧 API,如今通常不再使用。

它是 Entity Framework 4.0 的一部分,那是很久以前的事了(参见 Wikipedia: Entity Framework history)。

2011年Entity framework 4.1版本发布,以后推荐使用DbSetDbContext API。 Entity Framework 的当前生产就绪版本是版本 6,版本 7 正在开发中。

我建议您转移到 Entity Framework 6,您可以使用 Nuget 将其安装到您的 Visual Studio 项目中:EntityFramework 6.1.3

这是一个 article其中有一章介绍了 DbSet API 与旧 API 相比的差异。请查看“DbContext 和 DbSet 简介”一章。

关于c# - WPF 实体无法创建 View 的 ObjectSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33553123/

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