草庐IT

Entity-config

全部标签

c# - 如何使用 Moq 对 Entity Framework 6 中的删除操作进行单元测试

*更新编辑-部分解决方案-仍然需要帮助*-我发现异常只是误导。它给了我这个异常(exception),因为我得到了模拟属性被错误调用的次数。它应该被调用两次,而不是一次。那部分现在有效。但我仍然不明白为什么实体没有从列表中删除。是因为它是可查询的吗?下面是原始问题我一直在努力关注thislink学习如何单元实体框架6和6.1。但是它没有显示如何对删除操作进行单元测试。这里是我要测试的代码:publicvoidDeleteRequirement(intid){RequirementrequirementToDelete=GetRequirement(id);context.Require

c# - 外键列可以首先是 Entity Framework 6 代码中的枚举吗?

我首先将EF5DB转换为EF6代码。在旧设置中,有一些FK是字节。并且在应用程序中被映射到带有下划线字节类型的枚举。这一直很有效。首先转到代码和EF6,我发现声称枚举应该“正常工作”,而且对于常规列来说确实如此。我可以从这里开始publicbyteFavPersonality{get;set;}为此:publicPersonalityFavPersonality{get;set;}但是当涉及到也是外键的列时,我得到这个错误:System.ArgumentException:TheResultTypeofthespecifiedexpressionisnotcompatiblewitht

c# - Entity Framework 7 中是否有 DbSet<TEntity>.Local 等效项?

我需要一个ObservableCollection在EF7中,DbSet.Local似乎不存在;有什么解决方法吗? 最佳答案 当前版本的EntityFramework(RC1-final)没有DbSet.Local特性。但!您可以使用当前的扩展方法实现类似的效果:publicstaticclassExtensions{publicstaticObservableCollectionGetLocal(thisDbSetset)whereTEntity:class{varcontext=set.GetService();vardata=

c# - 使用 nunit 重新加载 app.config

我有多个NUnit测试,我希望每个测试都使用特定的app.config文件。有没有办法在每次测试前将配置重置为新的配置文件? 最佳答案 尝试:/*Usage*using(AppConfig.Change("my.config")){*//dosomething...*}*/publicabstractclassAppConfig:IDisposable{publicstaticAppConfigChange(stringpath){returnnewChangeAppConfig(path);}publicabstractvoidD

c# - 如何通过 ConfigurationManager 写入 User.Config 文件?

我正在尝试使用ConfigurationManager将用户设置保存到配置文件中。我只想将这些设置限定为用户,因为在没有管理员权限的情况下无法在Vista/Win7上保存应用程序更改。这似乎让我得到了用户的配置,它似乎保存在Win7中([Drive]:\Users\[Username]\AppData\Local\[ApplicationName]\[AssemblyName][hash]\[Version\)Configurationconfig=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerU

c# - Entity Framework - 使用默认参数调用存储过程

我使用数据库优先在EntityFramework中映射了一些存储过程。它创建强类型方法,您可以调用这些方法来运行存储过程。然而,我遇到了一个严重的问题,因为我看不到任何方法来调用它使用存储过程中定义的默认参数创建的这些方法。这意味着:a)我必须手动将默认参数添加到方法调用中,如果默认参数值发生变化,这很脆弱。b)手工编写方法重载。这基本上消除了首先从数据库生成模型的好处。有谁知道这个问题是否有更好的解决方案?谢谢。 最佳答案 截至2013年1月,没有支持的方法让EntityFramework执行此操作。我已经打开了一个功能请求her

c# - Entity Framework 具有相同键的两个不同对象不起作用

我试图在我的主对象中插入对象引用,但如果我不使用它以前管理的对象,EntityFramework会提示。我只是想在创建对象时避免依赖dbContext。简化示例:classMovie{publicApplicationUserOwner{get;set;}}varmyMovie=db.Movies.FirstOrDefault(m,m=>m.Id=1);myMovie.Owner=newApplicationUser{Id=2};//Ihavetoattachorchangeitsstate,otherwise,EFwillcomplaintheobjectisnotcompleted

c# - 使用自己的 app.config 的插件

在这里的一些人的帮助下,我终于设法构建了一个插件架构的工作解决方案,但现在出现了一个新问题。我的托管应用程序将它的app.config文件用于执行程序集(这是一个Windows服务)的一些默认值。每个插件都应该能够从单独的插件设置文件加载它自己的设置,因为主机不应该知道插件设置。在插件项目中,我还添加了一个app.config文件(带有一些设置和一个连接字符串),以便我可以实例化Properties.Settings类并在插件代码中使用它的属性。问题是当我更改插件的app.config中的设置(构建为plugin.dll.config)时,我看不到插件本身的那些更改,它仍然使用设计时设

c# - Entity Framework 是否自动保存相关类?

假设我们有这样的类publicclassA{stringsomeField{get;set;}publicvirtualBB{get;set;}}publicclassB{intsomeIntField{get;set;}[ForeignKey("Id")][Required]publicvirtualAA{get;set;}}在代码中,我为它们创建了新的实例,并建立了如下关系:Aa=newA(){someField="abcd"};Bb=newB(){someIntField=42};A.B=b;B.A=a;我是否应该像这样使用DBContext来保存这两个类:using(vardb

c# - DTO 和 Entity 是否都应该有输入验证

我有一个WCF层,我的领域模型在这个WCF层后面。我正在使用Nhibernate作为ORM工具,我所有的业务逻辑/数据访问等都将在这个WCF层之后。我正在向我的客户公开DTO。我有以下问题1)我应该创建DTO吗?将实体直接暴露给wcf客户端有什么坏处,因为我的实体也会有业务逻辑方法,这样做我将不得不用我认为不好的WCF属性破坏我的实体对象?2)如果我公开DTO,我是否应该验证DTO以及实体。如果我只验证DTO,那么我不会为我的Enitity对象提供任何输入验证。这样可以吗?3)我是否应该考虑使用模式验证在应用程序服务层(WCF层)中验证DTO?或者我应该使用文章[博客]中给出的IVal