草庐IT

contract-first

全部标签

c# - EF Code First - 在 nvarchar 上全局设置 varchar 映射

我有一个应该很简单的问题,但我自己却找不到答案。我正在使用EF4CTP-5CodeFirst模型和手动生成的POCO。它将生成的SQL中的字符串比较处理为WHEREN'Value'=Object.Property我知道我可以使用以下方法覆盖此功能:[Column(TypeName="varchar")]publicstringProperty{get;set;}它修复了单次出现的问题并正确生成SQL为:WHERE'Value'=Object.Property但是,我正在处理一个非常大的域模型,遍历每个字符串字段并设置TypeName="varchar"将非常乏味。我想指定EF应该全面地

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

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

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# - 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# - 用于 Salesforce 出站消息传递的契约(Contract)优先 WCF

我正在考虑为SalesforceOutboundMessaging实现监听器应用程序。walkthrough使用已弃用的ASMXWeb服务实现它。代码是使用带有/serverInterface开关的wsdl.exe生成的。这是SalesforceOutboundMessaging的wsdl。Processanumberofnotifications.NotificationServiceImplementationtldr是我需要实现NotificationBinding,以便Salesforce可以在他们的系统上发生事件时调用我的网络服务。我后来意识到svcutil本身并不支持契约优

c# - 与 Contract.Requires<T> 相比抛出异常?

我想知道我是应该抛出异常还是调用Contract.Requires例如:publicstaticvoidFunction(Stringstr){if(str==null)thrownewArgumentNullException("str","Inputstringcannotbenull.");//...}对比publicstaticvoidFunction(Stringstr){Contract.Requires(str!=null,"Inputstringcannotbenull.");//...}自Contract.Requires不需要CONTRACTS_FULL符号我也可以

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

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

c# - 我是否错误地实现了这个简单的契约(Contract)?

这是我的代码:publicclassRegularPolygon{publicintVertexCount;publicdoubleSideLength;publicRegularPolygon(intvertexCount,doublesideLength){Contract.Requires(vertexCount>=3);VertexCount=vertexCount;SideLength=sideLength;}[ContractInvariantMethod]privatevoidRegularPolygonInvariants(){Contract.Invariant(Ve

c# - 如何安全地混契约(Contract)步和异步代码?

这个问题在这里已经有了答案:Writeawelldesignedasync/non-asyncAPI(3个答案)关闭2年前。我有这个完全同步的库。它公开了同步方法,我有客户在使用它。我将底层实现更改为异步,并为任何想要使用它的人公开了异步方法。但是现在我有很多重复的代码。异步代码似乎表现更好。我希望现有客户能够利用它,并且我希望消除代码重复。是否有任何安全的方法来保持同步签名并调用异步实现?我特别害怕在调用.Result和.Wait时出现死锁。

c# - 在一个 WCF 服务中托管多个契约(Contract)

这个问题在这里已经有了答案:RunWCFServiceHostwithmultiplecontracts(8个答案)关闭9年前。是否可以在一个WCF服务中托管多个服务契约(Contract)?如果是这样,如何?我一直在谷歌上搜索,有些帖子说你可以做到(但不是怎么做),而其他人则说这是不可能的。当我运行服务器时,出现以下错误:Thecontractname'ConsoleAppWcfCommon.IBarService'couldnotbefoundinthelistofcontractsimplementedbytheservice'ConsoleAppWcfServer.FooSer