草庐IT

Multilingual_entity

全部标签

c# - 如何正确配置 Entity Framework ?

要从提供以下内容的EF4.1获取单个回调,我可以编写的最少代码量是多少:OnSQLExecuted(DbCommandcmd,DateTimestart,doubledurationMS,stringstacktrace)目前我们使用了一个似乎正在泄漏性能的讨厌的hack,我很好奇我们如何在对应用程序的影响最小的情况下实现此回调。我们可以将其连接到MiniProfiler中通过hackingaround-最初我们更改了Database.DefaultConnectionFactory但是与默认工厂混为一谈意味着您不能同时运行两个分析工厂。所以我们走了更激进的路线。常用的技术非常简单,您

c# - Entity Framework 中的并发异常

在EntityFramework(CF、C#)中调用SaveChanges/SaveChangesAsync时,如果发生更改冲突(例如,自上次读取后值已更新),那么这两个异常DbUpdateConcurrencyException或OptimisticConcurrencyException中的哪一个我应该捕获?它们之间有什么区别? 最佳答案 DbUpdateConcurrencyException是DbContext抛出的特定异常,因此这是要捕获的异常。此异常可能是由底层OptimisticConcurrencyException

c# - Entity Framework 查询性能与原始SQL执行的极端不同

我对EntityFramework查询执行性能有疑问。架构:我有一个这样的表结构:CREATETABLE[dbo].[DataLogger]([ID][bigint]IDENTITY(1,1)NOTNULL,[ProjectID][bigint]NULL,CONSTRAINT[PrimaryKey1]PRIMARYKEYCLUSTERED([ID]ASC))CREATETABLE[dbo].[DCDistributionBox]([ID][bigint]IDENTITY(1,1)NOTNULL,[DataLoggerID][bigint]NOTNULL,CONSTRAINT[Prima

c# - 使用固定装置测试 Entity Framework

我喜欢的一件事Rails'和Django's测试方法是他们支持在每个测试运行之前使用固定装置来设置数据库。过去,我使用严格的单元测试结合模拟存储库来测试我的代码,但我希望有一些像上述测试方法一样易于使用的东西来进行集成测试。我听过一些关于代码优先和EF5的此类支持的讨论,但我不知道它是否会上升到Rails和Django提供的水平。肯定有类似的东西。任何信息将不胜感激! 最佳答案 在EF5中引入了新概念,称为迁移。您可能曾经在Rails或Django应用程序中使用过类似的东西。Migration是一个类,它有几个函数来升级/降级DB的

c# - 使用 Entity Framework 4.0/.edmx 从 c# 调用标量函数

我想将我的标量函数映射到我的.edmx,但它失败了。我右键单击我的EntityFramework映射,然后选择从数据库更新模型。它出现在我的模型浏览器的存储过程文件夹中。但是,当我想将它添加到模型浏览器中的FunctionImports文件夹时,消息scalarfunctiondoesnotappear显示在下拉列表中。有人可以帮助我吗?我可以使用旧方法调用标量函数,例如:dbContext.ExecuteStoreQuery("SELECTdbo.getMinActualLoadDate({0},{1},{2})ASMyResult",LoadPkid,LoadFkStartLoc,

c# - 在 Entity Framework 中使用存储过程,如何让实体填充其导航属性?

EntityFramework非常慢,所以我尝试使用存储过程,但遇到了这个问题。EntityFramework允许您定义生成实体的存储过程。但是,我的实体具有“导航属性”,在使用此方法时不会填充这些属性。有变通办法吗? 最佳答案 良好的存储过程不可组合。因此,无法使用Include()或其他方式调用您的SPROC并让EF在同一查询中自动填充关系。假设您有产品和类别并且您有一个存储过程来获取产品:即varproducts=context.GetProducts(someproductfilter);生成的产品不会加载其类别。但是,如果

c# - 如何首先使用迁移向 Entity Framework 4.3 代码中的列添加描述?

我首先使用EntityFramework4.3.1代码进行显式迁移。如何在实体配置类或迁移中添加对列的描述,使其最终成为SQLServer(例如2008R2)中列的描述?我知道我可以为DbMigration类编写扩展方法,将sp_updateextendedproperty或sp_addextendedproperty过程调用注册为sql迁移迁移事务中的操作,并在迁移Up方法中创建表后调用该扩展。但是有没有一种我还没有发现的优雅的内置方式?最好有一个属性,迁移的更改检测逻辑可以在脚手架迁移中获取并生成适当的方法调用。 最佳答案 我也

c# - 找不到源类型 'System.Data.Entity.DbSet' 的查询模式的实现

我是第一次使用EntityFramework,但它似乎没有按预期工作。我有这个代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Data.Entity;usingSystem.Linq;publicstaticclassQueryClass{publicstaticvoidQuery(){using(varcontext=newMyDbEntities()){DbSetset=context.Tables;varquery=fromvalinsetselectvalue;}}}在查询行上(正是“set”变量用红色下划线

c# - 单元测试错误 : This function can only be invoked from LINQ to Entities

我正在编写一个MVC5互联网应用程序,我的表达式如下:publicExpression>IsExpiresDateTimeLessThanMinimumDaysLeftInFreeTrialSubscription(intminimumDaysLeftInSubscriptionForEmail){returnAccount=>System.Data.Entity.DbFunctions.DiffHours(Account.freeTrialEndDate,DateTime.UtcNow)从数据库中检索数据时,上述表达式正确完成。但是,在编写使用上述表达式的单元测试时,出现以下错误:T

c# - 在某些情况下,OptimisticConcurrencyException 在 Entity Framework 中不起作用

更新(2010-12-21):根据我一直在做的测试完全重写了这个问题。此外,这曾经是一个特定于POCO的问题,但事实证明我的问题不一定是特定于POCO的。我正在使用EntityFramework,我的数据库表中有一个时间戳列,应该用于跟踪开放式并发的更改。我已将EntityDesigner中此属性的并发模式设置为“固定”,但我得到的结果不一致。下面是几个简化的场景,它们证明并发检查在一个场景中有效,但在另一个场景中无效。成功抛出OptimisticConcurrencyException:如果我附加一个断开连接的实体,如果存在时间戳冲突,SaveChanges将抛出一个Optimist