草庐IT

contract-first

全部标签

c# - list.First()、list.ElementAt(0) 和 list[0] 的区别?

根据标题...list.First()、list.ElementAt(0)和list[0]之间有什么真正的区别吗? 最佳答案 如果源列表不包含任何元素,.First()将抛出异常。SeetheRemarkssection.为避免这种情况,请使用FirstOrDefault()。.ElementAt(0)如果索引大于或等于列表中的元素数,将抛出异常。为避免这种情况,请使用ElementAtOrDefault(0)。如果您使用的是LINQToSQL,则无法将其转换为sql,而.First()可以转换为TOP1。如果索引大于或等于列表中的

c# - 如何在数据契约(Contract) WCF 中使用枚举

我想在WCF网络服务的数据契约(Contract)中有一个枚举。我正在尝试使用[DataContract]classmyclass{[DataMember]publicintid{get;set;}[DataContract]publicenummyenum{[EnumMember]a,[EnumMember]b}}但我无法在wcf客户端访问枚举。请让我知道我做错了什么。 最佳答案 要包含在mex/wsdl中,枚举需要在图中的某处使用,例如某处应该有myenum类型的属性。图表中未主动使用的类型被省略。另请注意,您实际上根本不需要注

c# - Entity Framework 6 Code First - 必需的枚举数据类型不起作用

我正在使用必需的枚举字段生成数据库表。但是,在提供表格时,可以省略提供枚举字段:EF不会抛出任何错误消息,但会提供0值的字段。你能帮我理解发生了什么吗?谢谢publicenumTestEnum{test1=1,test2=2,test3=3,test4=4}publicclassTestEnumClass{[Key]publicintid{get;set;}[Required(ErrorMessage="Required"),Display(Name="TestEnum")]publicTestEnumtest{get;set;}} 最佳答案

c# - Entity Framework Code First - 更改表名

我想首先更改使用EntityFramework代码生成的其中一个表的名称。我已经创建了数据库,但现在我想更改名称。我已将项目中对"Metadatas"表的所有引用更新为"Metadata"。但是在数据库中生成的表仍然是“元数据”。我已经删除并重新创建了数据库,但这似乎也不起作用。使用TableAttribute也不行。我该怎么办?谢谢。[Table("Metadata")]publicclassMetadata{[Required,Key]publicintMetadataId{get;set;}[Required,ScaffoldColumn(false)]publicintDocu

c# - Contract.Requires 抛出 pex 错误

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowDoYouConfigurePextoRespectCodeContracts?目前,当我运行pex探索时,我在我的类中创建的代码契约(Contract)在pex探索结果中被视为错误。我认为当您使用代码契约(Contract)运行pex探索时,契约(Contract)失败应被视为预期行为。这是导致异常的代码。测试方法:[PexMethod]publicvoidTestEquality(GuiduserId,stringusername,stringpassword,stringsecurityQuest

c# - EF6 Code First 具有通用存储库和依赖注入(inject)和 SoC

经过大量阅读和尝试后EntityFramework最新的稳定版本(6.1.1)。我正在阅读很多关于是否使用EF6的存储库的矛盾。或EF一般来说,因为它是DbContext已经提供了一个存储库和DbSetUoW,盒子外面。让我首先解释我的解决方案在项目方面包含的内容,然后我将回到矛盾。它有一个类库项目,还有一个asp.net-mvc项目。类lib项目是数据访问,其中Migrations为CodeFirst启用.在我的类lib项目中,我有一个通用存储库:publicinterfaceIRepositorywhereTEntity:class{IEnumerableGet();TEntity

c# - 如何使用 Entity Framework DB First 的现有枚举

我正在使用EntityFramework5,优先使用数据库。我知道如何在我的模型上定义枚举,并将字段类型设置为该枚举。现在,我需要将字段MyField映射到外部定义的枚举,即不在EF模型(OtherNamespace.MyEnum)中。设计师不允许我将类型设置为模型之外的任何内容。我尝试手动编辑edmx文件,但这会导致错误:Error10016:Errorresolvingitem'MyField'.Theexceptionmessageis:'Unresolvedreference'OtherNamespace.MyEnum'.'.OtherNamespace.MyEnum被我的项目

c# - Entity Framework Code First - 为什么我不能以这种方式更新复杂的属性?

我正在使用EntityFramework4.1(代码优先)开发一个小型示例项目。我的类(class)如下所示:publicclassContext:DbContext{publicIDbSetPeople{get;set;}publicIDbSetEmployeeTypes{get;set;}}publicclassPerson{[Key]publicintKey{get;set;}publicstringFirstName{get;set;}publicstringLastName{get;set;}virtualpublicEmployeeTypeEmployeeType{get;

c# - 如何在 Entity Framework Code First 中建立多对多关联

我刚刚开始使用EF,并且观看了一些很棒的教程视频。我坚持以下内容。我有一个文件集合类,我希望这些文件与事件和/或人相关联publicclassfile{publicintid{get;set;}publicstringpath{get;set;}}publicevent{publicintid{get;set;}publicstringeventname{get;set}publicvirtualICollectionfiles{get;set;}publicevent(){files=newlist();}}publicperson{publicintid{get;set;}publ

c# - 在 ASP.NET MVC 4 C# Code First 中指定 ON DELETE NO ACTION

如何在我的模型设计中指定ONDELETENOACTION外键约束?目前,我有:publicclassStatus{[Required]publicintStatusId{get;set;}[Required][DisplayName("Status")]publicstringName{get;set;}}publicclassRestuarant{publicintRestaurantId{get;set;}[Required]publicstringName{get;set;}[Required][EmailAddress]publicstringEmail{get;set;}[R