草庐IT

IS_REPLACING_ENTITY_REFERENCES

全部标签

c# - 为 Entity Framework 运行自定义工具,它有什么作用?

在VisualStudio中,当使用EntityFramework并为.tt和.Context.tt文件应用运行自定义工具时,它是什么以及它有什么作用?为什么它要解决数据库同步问题(有时)?为什么我应该先为(.tt)运行它,然后再为(.Context.tt)运行它? 最佳答案 它称为“文本模板转换工具包”,您可以使用它从元描述中创建类(例如)。EF使用它从模型中创建类(上下文和实体类)。你也可以看看http://en.wikipedia.org/wiki/Text_Template_Transformation_Toolkit您可以

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# - 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# - "The breakpoint will not currently be hit. A copy of file was found in dll file, but the current source code is different"

我不断收到此错误消息,提示存在.cs文件的副本,因此不会命中断点。我尝试过清理解决方案、重建、删除obj和bin文件夹中的.pdb文件、关闭VS并重新启动它、重新启动整个机器(这是Windows!有时最复杂、无法解释的问题会像这样解决:\)知道我还能尝试什么吗?这是VS2015上的.net项目 最佳答案 我发现了问题,原来IIS配置为使用我备份文件夹中项目的不同副本。这听起来很傻,但如果有人有类似的问题,我会保留这个问题。 关于c#-"Thebreakpointwillnotcurren

c# - C# 中的 `x is int?` 和 `x is int` 有区别吗?

classCwhereT:struct{boolM1(objecto)=>oisT;boolM2(objecto)=>oisT?;}上面的两种方法在传递null时似乎表现相同引用或盒装T值(value)。但是,生成的MSIL代码有点不同:.methodprivatehidebysiginstanceboolM1(objecto)cilmanaged{.maxstack8IL_0000:ldarg.1IL_0001:isinst!TIL_0006:ldnullIL_0007:cgt.unIL_0009:ret}对比.methodprivatehidebysiginstanceboolM2

C#、Linq2Sql : Is it possible to concatenate two queryables into one?

我有一个可查询的,我在其中使用了各种Where和WhereBetween将集合缩小到特定集合的语句。现在我需要添加一种Where||WhereBetween。换句话说,我不能像到目前为止那样将它们链接在一起,因为那样可以用作And。那么,我该怎么做呢?我看到两种可能性:创建两个可查询对象,一个使用Where,另一个使用WhereBetween。然后连接它们。不知道这是否可能?此外,虽然不是我的特殊情况,但你很可能会得到重复项......以某种方式将Where表达式和在WhereBetween中创建的表达式与某种Or合并。第一个,如前所述,我什至不确定是否可能。如果是的话,我不太确定这是

c# - 查询 XmlDocument 而不会出现 'Namespace prefix is not defined' 问题

我有一个Xml文档,它定义并引用了一些命名空间。我将它加载到一个XmlDocument对象中,据我所知,我创建了一个XmlNamespaceManager对象,用于查询Xpath。问题是我收到XPath异常,表示命名空间“my”未定义。如何让命名空间管理器看到我引用的命名空间已经定义。或者更确切地说,如何将命名空间定义从文档获取到命名空间管理器。此外,令我感到奇怪的是,您必须首先为从文档命名表创建的文档提供命名空间管理器。即使您需要硬编码手动命名空间,为什么不能将它们直接添加到文档中。为什么每次查询都必须传递这个namespace管理器?XmlDocument不能知道什么?代码:Xml