问题标签 [entity-framework-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
708 浏览

entity-framework - What are the major limitations of EF4?

I am trying to decide on an ORM tool for my project, and I am thinking about EF4.

What are the major (if any) annoyances/limitations with this product? Also, does it support caching?

Thanks

0 投票
1 回答
1548 浏览

c# - Entity Framework 4 中的部分映射

我希望能够做到以下几点:

我有一个模型,里面有一个实体。

该实体具有以下结构:

我现在想要的是根据 id 获取客户端名称。因此,我编写了一个执行此操作的存储过程。

现在,回到 VS,我确实从包含存储过程的数据库中更新了模型。

下一步是将此存储过程映射到客户端实体作为函数导入。

这也很好用。

现在尝试在运行时加载一个客户端的名称会导致错误...

“数据读取器与指定的‘CSTestModel.Client’不兼容。类型的成员‘Id’在数据读取器中没有对应的同名列。”

我对消息没意见。我知道如何解决这个问题(作为结果集 ID、名称、描述返回)。

我对这个问题的想法如下:

我只想加载实体的一部分,而不是完整的实体本身。我在这里有一个限制,只能使用存储过程来进行与数据库的整个通信。

我的问题是否有解决方案(除了在结果集本身上创建复杂类型、LINQ)?如果是的话,有人能指出我正确的方向吗?

非常感谢,

迪米

0 投票
1 回答
625 浏览

.net - EF4 在 POCO 架构中的优势

在 DevConnections 期间,我偏离了 Silverlight 的轨道,偶然发现了 Chris Sells 关于 EF4 的精彩演讲。现在与 3.5 SP1 相比,现在的可能性给我留下了深刻的印象。同时,我想知道采用重 POCO 架构的系统并在其中插入 EF4 会有什么好处。变更跟踪?林克?还有什么我没有想到的吗?

0 投票
1 回答
3069 浏览

.net - 解释 Entity Framework 4 的连接字符串

我创建了一个实体框架文件。我的数据库称为 MyDB。我的实体框架文件是 MyDB.edmx,我使用现有的连接字符串 (MyDBConnectionString) 来生成 edmx 模型。

它创建了另外两个连接字符串:
MyDBEntities
MyDBContainer

这些是干什么用的?它们看起来完全相同,并且都具有来自我的旧连接字符串的信息。

我还需要旧的连接字符串吗?

更新更多信息:

以下是连接字符串:

我创建了第一个名为 MyDBConnectionString。然后,当我从数据库生成 edmx 模型时,Visual Studio 创建了 MyDBEntities 和 MyDBContainer 连接字符串。另外两个(实体和容器)是做什么用的?我不再需要原来的连接字符串了吗?

0 投票
2 回答
6337 浏览

asp.net-mvc-2 - 如何在 ASP.Net MVC 2 (VS2010) 实体框架项目中自动生成简单的 CRUD 控制器和视图?

我有一个标准模板“ASP.NET MVC 2 Web 应用程序”解决方案,一个空的(意味着没有插入数据,但所有表等都准备好并等待)SQL Server 数据库,一个实体框架 4 模型 (edmx)。有没有办法为模型中的所有实体生成简单的 CRUD 控制器和表单视图?

0 投票
1 回答
298 浏览

visual-studio-2010 - EF4 生成无效脚本

当我右键单击一个.EDMX文件并单击Generate Database From Model时,由于表名的原因,生成的脚本显然是错误的。它生成的是以下脚本。DROP TABLE请注意零件与零件中的表名称CREATE TABLE

为什么这不一致?

这显然不是一个可重用的脚本。我创建的是一个名为“地址”的实体和一个名为“公司”的实体等(都是单数)。EntitySet 名称是复数形式。“Pluralize New Objects”布尔值也不会改变这一点。那么有什么关系呢?

对于它的价值,我最初通过将 EDMX 指向具有非复数名称的表的数据库来生成 EDMX,现在我已经进行了一些更改,我想以另一种方式返回。我希望可以选择来回切换,因为 db-first 和 model-first 模型在所有情况下都不是理想的,并且我可以控制以确保不会出现多人同时使用的合并问题同时方式。

0 投票
1 回答
555 浏览

entity-framework-4 - 使用实体框架 4 的用户/组多所有权模型

大家好,我必须模拟以下情况。我想出了 2 个可能的替代方案,但我想知道是否有更好的解决方案。

这是交易...

简化模式

这很简单。一个用户表,一个组表,然后是一个将用户与组关联的表(多对多)

然后我有其他实体(即文章)可以由用户和组拥有(可以由一个用户拥有,或者可以由一个组拥有,或者可以由一个用户和一个组拥有,等等)。

所以这是交易。我可以:

一个

这里的问题是,当我想检查特定用户是否拥有特定文章时,似乎我必须同时检查两者。使用 T-SQL 很容易,但我想使用实体框架(以前从未使用过 ORM,所以请注意 xD)。

你会如何模拟这种情况???

另一种方法可能是:

为每个用户创建一个组,仅包含该用户,并仅按组管理所有权。你觉得这听起来如何?

谢谢大家,很抱歉,如果我的解释不是很清楚,我的英语并不完美。

0 投票
2 回答
2399 浏览

linq-to-sql - 既然 Entity Framework 4.0 已经发布,就转储 Linq-To-Sql?

Linq-To-Sql 的相对简单性以及对 Entity Framework 版本 1 的所有批评(尤其是不信任投票)说服我“暂时”使用 Linq-To-Sql。现在 EF 4.0 已经发布,我想知道是否是时候开始迁移到它了。

问题:

  1. EF 4.0 相对于 Linq-To-Sql 的优缺点是什么?
  2. EF 4.0 终于准备好迎接黄金时段了吗?
  3. 现在是转换的时候吗?
0 投票
1 回答
725 浏览

c# - 通过 edmgen 工具仅生成实体框架模型的 objectLayer

如何通过edmgen 工具只生成objectLayer,而不生成csdl、ssdl 和视图

"%windir%\Microsoft.NET\Framework\v4.0.30319\edmgen.exe" /mode:fullgeneration /c:"数据源=.\sqlexpress;初始目录=uqs;集成安全性=SSPI" /project:generateEntityModel /entitycontainer :uqsEntities /namespace:uqsModel /language:CSharp /outobjectlayer:"D:/uqsObjectLayer.cs"

在这个脚本中,我没有写写 csdl、ssdl 和 views 的位置,但它们是在 windows Vista的C:\Users\adminUser中生成的,而 objectLayer 是在D:/uqsObjectLayer.cs中生成的。如果我使用/mode:EntityClassGenerationthis option requires the /incsdl argument and either the /project argument or the /outobjectlayer argument. The /language argument is optional.

但我不想使用csdl文件。据我了解,edmgen.tool 无法在没有csdl文件的情况下创建对象层。现在有从数据库生成对象层的替代方法或工具吗?

0 投票
1 回答
765 浏览

.net - TryGetObjectByKey 中的空对象集

当我TryGetObjectByKey在 my 上使用时ObjectContext,它会返回一个错误。已存在具有重复值的项目。

当我查看 myobjectContext时,我看到ObjectSets 是空的。我究竟做错了什么?当我ObjectSet手动枚举时,通过使用ToArray它或使用调试器,它确实有效。

LazyLoadingEnabled设置为true

我重用了来自另一个 EDMX 的 2 个表,但它们位于不同的命名空间中,它们不是objectSet我试图接近的 s。