草庐IT

first_x_method

全部标签

c# - Invoke Method (Delegate) 和直接调用有什么区别?

这个问题在这里已经有了答案:DifferencebetweenDelegate.InvokeandDelegate()(4个答案)关闭9年前。可能是之前有人问过这个问题,我用谷歌搜索但没有得到答案。委托(delegate)原型(prototype)delegatevoidmethod1(stringstr);添加回调方法method1objDel2;objDel2=newmethod1(TestMethod1);objDel2("test");objDel2.Invoke("Invoke");在上面的代码中,objDel2("test");和objDel2.Invoke("Invoke

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# - 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# - 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# "No suitable method found to override."——但是有一个

我在C#中覆盖父类的方法时遇到问题。父类设置如下:publicclassBase{publicBase(Game1game){this.game=game;}publicvirtualvoidDraw(){}}...还有子类:publicclassExt:Base{publicExt(Game1game):base(game){}publicoverridevoidDraw(SpriteBatchbatch){}}我知道我过去已经成功地覆盖了一个父方法,而现在我可能忽略了一些非常简单的事情......它是什么?编辑:那实际上是一个拼写错误:在实际的脚本中,Ext确实派生自Base。问题

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

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

C# 语言设计 : method group inside `is` operator

我对C#语言的一些设计选择很感兴趣。C#规范中有一条规则允许使用方法组作为is的表达式。运算符(operator):classFoo{staticvoidMain(){if(MainisFoo)Main();}}如规范所述,上述条件始终为假:7.10.10Theisoperator•IfEisamethodgrouporthenullliteral,ofifthetypeofEisareferencetypeoranullabletypeandthevalueofEisnull,theresultisfalse.我的问题:允许在CLR中使用没有运行时表示的C#语言元素的目的/要点/原因

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# 语言设计 : method group inside `is` operator

我对C#语言的一些设计选择很感兴趣。C#规范中有一条规则允许使用方法组作为is的表达式。运算符(operator):classFoo{staticvoidMain(){if(MainisFoo)Main();}}如规范所述,上述条件始终为假:7.10.10Theisoperator•IfEisamethodgrouporthenullliteral,ofifthetypeofEisareferencetypeoranullabletypeandthevalueofEisnull,theresultisfalse.我的问题:允许在CLR中使用没有运行时表示的C#语言元素的目的/要点/原因