问题标签 [entity-framework]

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 投票
1 回答
222 浏览

c# - 如何在实体框架中设置 SQL Server 2008 的登录信息?

好的,我仍在学习使用实体框架的技巧,并且遇到了另一个小问题。

当我从 SQL Server 2008 数据库创建实体模型时,它会警告我将登录信息保存在配置文件的连接字符串中。最初我并不担心,所以我把它留在了那里,但现在我想开始考虑部署。因此,如果我遵循该建议并且不在连接字符串中包含登录信息,那么我以后还能如何设置该信息以便它可以登录到数据库服务器?

谢谢

0 投票
3 回答
13140 浏览

asp.net-mvc - 如何使用实体框架创建外键关系?

我想在我的数据库中在具有几个外键关系的表上创建一个新行,但我无法处理需要进行的顺序和调用。这是我到目前为止所拥有的:

代码在第二行失败,说:

当与此相关端关联的源对象处于添加、删除或分离状态时,附加不是有效操作。使用 NoTracking 合并选项加载的对象始终是分离的。

有任何想法吗?

0 投票
5 回答
14650 浏览

.net - 无法保存实体框架继承的类型

我已经在我的数据模型中实现了一些 table-per-type 继承(基本上有一个BaseEntity包含我的项目的所有基本信息的Employer类型和一个从BaseEntity项目继承的类型)。一切似乎都设置正确,并且在使用实体时(通过 ADO.net 数据服务或通过 Linq to Entities)我可以看到Employer类型并且事情似乎很好。当我创建一个新Employer实体并尝试保存它时,问题就开始了。

在似乎不是.AddToEmployer项目的上下文中(只有 and AddObjector AddToBaseEntity)。

如果我使用AddObject("Employer", NewEmployer),我会收到以下错误消息:

找不到实体集名称“DataEntities.Employer”。

如果我使用AddToBaseEntity(NewEmployer),我会收到以下错误消息:

无法确定相关操作的有效排序。由于外键约束、模型要求或存储生成的值,可能存在依赖关系。

我是否错过了设置继承的步骤?是否有一些特定的方法来保存继承的对象?我究竟做错了什么?我认为基本问题是我应该有一个AddToEmployer,我需要做什么才能暴露它?这似乎很奇怪,因为我可以在客户端看到 Employer 类型并且可以执行以下操作:

var NewEmployer = new Employer()- 这似乎表明我可以很好地看到 Employer 类型。

0 投票
2 回答
2335 浏览

.net - 根据关联值过滤 EntityDataSource

我真的很喜欢 Entity Framework,但有一些关键部分对我来说是一个挑战。谁能告诉我如何过滤关联列上的 EntityDataSource ?EF 隐藏了 FK 值,而是有一个 Association 属性。给定一个具有 PersonType 关联的实体 Person,如果我想按类型过滤我的 Person 实体,我会期望这样的事情:

或者

甚至

但这些都不起作用。有人知道怎么做吗?

0 投票
3 回答
1335 浏览

c# - 自动将一些 Where 子句添加到 Linq 表达式树

我正在使用实体框架和 Linq to Entity。我创建了一个小型数据库模式和框架来实现版本控制和本地化。现在每个实体都包含两个或三个表(即 Product、ProductBase 和 ProductLocal)。

我的 linq 始终包含以下样板代码:

我想要完成的是把上面变成:

或者最坏的情况是:

我扩展了 EDM 生成的基类,以实现一些强制执行属性的接口( IVersionStatus 和/或 IVersionLanguage )。有什么方法可以遍历表达式树,检查表达式中的类型是否实现了该接口,然后相应地设置 VersionStatus ?

我希望它像第一个选项一样简单,只是少写和/或忘记。我已经看到了事后的例子,在它的 IEnumerable 之后,但我宁愿不要从数据库中提取比我需要的更多的东西。

感谢您的任何提示!

0 投票
7 回答
26493 浏览

.net - 使用实体框架实体作为业务对象?

我正在使用 Microsoft 的 Entity Framework O/R 映射器,并将实体类(映射到 DB 对象的生成类)用作业务对象。这个可以吗?请说出你的缺点或优点。在业务层和表示之间进行WCF通信的情况下该怎么办,如何将这些对象作为数据成员发送?

0 投票
3 回答
1784 浏览

c# - 如何计算 ObjectQuery 将返回多少个对象?

我正在构建一个这样的 ObjectQuery:

我现在可以将此对象分配为控件的 DataSource,或者使用 foreach 循环进行迭代,甚至强制实现到 List,但是,我可以计算将返回的对象的数量,而不强制实现吗?

我是否需要创建一个将执行 count() 的伴随查询,或者是否有一个函数可以在某处为我执行此操作?

谢谢你。

0 投票
2 回答
765 浏览

c# - 远程机器上的实体框架模型更新

我正在构建一个使用实体框架的 Web 应用程序。这些文件位于远程计算机上,数据库和 Web 服务器也是如此。

在visual studio(2k8sp1)中,项目路径为:\\Server\Web\XXXX

现在,我从数据库中生成了 EF 实体,后来我更新了数据库并在其中添加了一个存储过程。当我想在 Visual Studio 中更新我的模型时,我收到一条错误消息,上面写着:

尝试从数据库更新时发生 Systen.ArgumentException 类型的异常。异常消息是:“不同设备上的文件不可能有相对路径”。

关于如何更新我的模型的任何想法?

附言。我也无法在 EF 模型设计器中更改我的连接字符串。

0 投票
1 回答
1260 浏览

vb.net - ADO.NET 数据服务查询拦截器 - 谁能告诉我这个 C# 的 VB 语法?

我对 VB.NET 很陌生 - 我正在努力在以下代码片段中转换方法的签名。表达式<...>> 位。

提前致谢。

0 投票
2 回答
3499 浏览

entity-framework - 在 ADO.Net 数据服务中,如何检查实体是否已在上下文中?

我有一个用于导入数据的 ADO.Net 数据服务。大多数实体都链接到许多实体。要在导入期间执行此操作,我首先创建这些实体,保存它们,然后使用 .SetLink(EntityImport, "NavigationProperty", CreatedEntity)。现在我遇到的第一个问题是上下文并不总是知道 CreatedEntity(这是由于每个实体都是独立导入的,并且在创建每个项目时都会创建一个上下文 - 我想保留这个功能- 即我试图避免“只使用一个上下文”作为答案)。

因此,在尝试调用 SetLink 之前,我有一个 .AddToCreatedEntityType(CreatedEntity)。这当然是第一次工作,但在第二次通过时,我收到错误消息“上下文已经在跟踪实体”。

有没有办法检查上下文是否已经在跟踪实体(context.Contains(CreatedEntity) 尚未实现)?我正在考虑尝试尝试捕获并避免错误,但这似乎每次通过都会创建一个新的 CreatedEntity 。看起来我每次都需要使用 LINQ to Data Services 来获取 CreatedEntity ,但这似乎效率低下 - 有什么建议吗?