草庐IT

func_code

全部标签

c# - 如何为 Entity Framework Code First 迁移设置隔离级别

如果您针对为SQLServer复制发布的表运行EntityFramework迁移(自动或显式),您会收到以下错误:YoucanonlyspecifytheREADPASTlockintheREADCOMMITTEDorREPEATABLEREADisolationlevels之前有过关于此的问题(here),但它们完全未能解决根本原因:EntityFramework迁移在Serializable隔离级别运行(如SQLServer探查器中清楚显示的那样)。这是结构更改事务的安全选择,但它与已发布的sqlserver表不兼容。与dbContext.SaveChanges()事务中使用的默认

c# - 从 BinaryExpression 到 Expression<Func<T, bool>>

假设我有类似的东西Expression>left=x=>x.SomeDateProperty;Expression>right=x=>dateTimeConstant;varbinaryExpression=Expression.GreaterThan(left,right);Expression>predicate=x=>x.SomeDateProperty>dateTimeConstant;1)如何用binaryExpression代替最后一行赋值的右手?varpredicate=x=>binaryExpression;不起作用。2)右边的总是一个常量,不一定是DateTime.N

c# - Func<> 的 List<>,具有通用返回类型的编译错误,但为什么呢?

这个问题有点长,所以请耐心等待。我需要在一组字符串和每个字符串对应的通用方法调用之间创建一个映射。但是,我遇到了一个编译问题,下面进行了解释。在我的场景中,我使用的是Dictionary,但问题同样存在于List.为简单起见,我使用List在下面的示例中。考虑这三个类:publicabstractclassMyBase{/*bodyomitted*/}publicclassMyDerived1:MyBase{/*bodyomitted*/}publicclassMyDerived2:MyBase{/*bodyomitted*/}还有一些其他类中的方法:publicclassTest{p

c# - Entity Framework 6 Code First 自定义函数

我正在尝试类似的东西:Howtousescalar-valuedfunctionwithlinqtoentity?但是我没有使用EDMX,而是先使用DbContext和代码。我遇到过这个:https://codefirstfunctions.codeplex.com/但是用法不合适。我想要实现的是能够做到这一点:varlocations=context.Locations.Where(e=>Functions.LatLongDistanceCalc(e.Lat,e.Long,lat,long)>=10)它将调用SQLServer上的标量函数(LatLongDistanceCalc)。有

c# - 无法识别 Visual Studio Code Entity Framework 核心添加迁移

我使用yoman通过VisualStudio代码编辑器生成了一个ASP.NetCoreWebAPI应用程序。作为引用,我遵循了本教程here.API工作正常。但是,我正在尝试将EntityFrameworkCoreMigrations与SQLServer一起使用。当我在VisualStudioCode终端中键入以下内容时:Add-MigrationMyDbInitialMigration我收到以下消息:'Add-Migration'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.我安装了Mi

c# - Code-First 应用程序中的 XML 列

我正在尝试在CodeFirst中创建一个XML列。我很清楚EntityFramework并不完全支持XML列,而是将它们作为字符串读取。没关系。不过,我仍然希望列类型为XML。这是我的类(class):classContent{publicintContentId{get;set;}[Column(TypeName="xml")]publicstringXmlString{get;set;}[NotMapped]publicXElementXml{get{...}set{...}}}问题是,CodeFirst迁移完全忽略了Column属性并将该字段创建为nvarchar(max)。我尝

c# - 将 Func<T> 转换为 Func<object>

我想知道如何通过Func至Func方法参数:publicvoidFoo(Funcp)whereT:class{Foo(p);}publicvoidFoo(Funcp){}奇怪的是,它在NET4.0类库中有效,但在Silverlight4类库中无效。实际上我希望它在Silverlight中工作,并且我有像Func这样的输入参数 最佳答案 这样就可以了:publicvoidFoo(Funcp)whereT:class{Funcf=()=>p();Foo(f);} 关于c#-将Func转换为F

c# - 生产应用程序的 PDB 文件和 "Optimize code"标志

我应该在什么时候为产品发布包含PDB文件?我应该使用Optimizecode标志吗?这将如何影响我从异常中获得的信息?如果有明显的性能优势,我会想使用优化,但如果没有,我宁愿有准确的调试信息。正式版应用通常会做什么? 最佳答案 如果您想在堆栈跟踪中查看源文件名和行号,请​​使用pdb-only选项生成PDB。优化与PDB生成是分开的,即您可以优化并生成PDB而不会影响性能。来自theC#LanguageReferenceIfyouuse/debug:full,beawarethatthereissomeimpactonthespee

c# - Entity Framework 过滤器 "Expression<Func<T, bool>>"

我正在尝试为EntityFramework列表创建一个过滤方法并更好地理解Expression我有一个这样的测试函数。publicIQueryableFilter(IEnumerablesrc,Expression>pred){returnsrc.AsQueryable().Where(pred);}如果我这样做:context.Table.Filter(e=>e.ID或者这个:context.Table.Filter(e=>e.SubTable.Where(et=>et.ID0&&e.ID一切正常。但是如果我这样做:context.Table.Filter(e=>e.SubTable

c# - DDD 与 EF Code First - 如何将它们放在一起?

学习DDD开发这几天,开始喜欢上了。我(认为我)了解DDD的原则,您的主要关注点是业务对象,您有聚合、聚合根、仅用于聚合根的存储库等等。我正在尝试创建一个将DDD开发与代码优先方法相结合的简单项目。我的问题是:(我正在使用asp.netMVC)DDD业务对象与CodeFirst对象不同吗?即使它们可能相同,例如我可以有一个包含所有规则和方法的Product业务对象,并且我可以先有一个Product代码(POCO)对象,它只包含我需要保存在数据库中的属性。如果问题1的答案是“真”,那么我如何通知ProductPOCO对象业务对象Product的属性已更改,并且我必须更新它吗?我正在使用“