草庐IT

Breadth-first

全部标签

c# - 获取 C# 字符串的 NON FIRST 段的快速而巧妙的方法

我对一个字符串执行split(''),我想提取返回字符串的第一个元素以获得字符串的其余部分。f.e.“这是一个了不起的字符串”.split('');我想得到除THIS之外的所有单词。这是:是一个惊人的字符串字符串在第一个和第二个单词之间总是至少有一个空格,因为我会把它硬编码是否有实现此功能的功能?谢谢 最佳答案 尝试stringX="THISISANAMAZINGSTRING";stringY=(X.IndexOf("")根据评论(IFX保证是至少有一个空格的有效字符串)没有检查等的更简单版本:stringY=X.Substring

C# LINQ First() 比 ToArray()[0] 更快?

我正在运行一个测试。看起来像:方法一)List=newList{1,2,4,.....}//assume1000kvarresultErrorCodes.Where(x=>ReturnedErrorCodes.Contains(x)).First();方法二)List=newList{1,2,4,.....}//assume1000kvarresult=ErrorCodes.Where(x=>ReturnedErrorCodes.Contains(x)).ToArray()[0];为什么方法2比方法1慢? 最佳答案 你有一个装有一千

c# - 谁在 Dictionary<>.First() 上?

这个问题在这里已经有了答案:Getfirstelementfromadictionary(9个回答)关闭4年前。当您在Dictionary集合的实例上调用它时,.NET3.5扩展方法Enumerable.First()的含义是什么?这组键决定了哪个项目是第一个,还是只是没有定义?

c# - 如何 : SQLite with EntityFramework and Code-First

我正在尝试使用EF动态创建一个嵌入式SQLite数据库,但是我无法让它工作,数据库文件永远不会被创建。我有EF4.2和最新版本的SQLite这是我的app.configDB初始化器(放入一些内容)classPageDbInitializer:DropCreateDatabaseAlways{protectedoverridevoidSeed(PageDBcontext){for(inti=0;i数据库上下文:classPageDB:DbContext{publicDbSetPages{get;set;}}最后在main()中Database.SetInitializer(newPage

c# - 使用 EntityFramework 6 Code-First 播种期间的 IDENTITY_INSERT

我有一个具有Auto-identity(int)列的实体。作为数据种子的一部分,我想在我的系统中为“标准数据”使用特定的标识符值,之后我想让数据库整理出id值。到目前为止,作为插入批处理的一部分,我已经能够将IDENTITY_INSERT设置为On,但EntityFramework不会生成包含Id的插入语句.这是有道理的,因为模型认为数据库应该提供值,但在这种情况下,我想提供值。模型(伪代码):publicclassReferenceThing{[Key][DatabaseGenerated(DatabaseGeneratedOption.Identity)]publicintId{g

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# - 如何使用 Entity Framework DB First 的现有枚举

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