草庐IT

entity-component-system

全部标签

c# - 是否可以创建用于将项目添加到 Entity Framework dbset 的通用方法?

我之前没有使用过EntityFramework或泛型,在减少我的代码时遇到了一些困难。我正在解析一个文本文件以加载10个查找表,其中包含可能每晚都可能更改的数据。文本文件有一个“类型”标题,后跟键/值集列表。我已经完美地工作了,但我想重构代码以清理它,并想使用通用方法来完成它,这样我就可以减少重复的代码。我已经将解析归结为通用方法,但我无法弄清楚如何以通用方式将实体添加到上下文中。我必须遍历每种类型的实体列表并将它们添加到上下文中:voidMain(){switch(line.ToUpper()){case"AREA":{ListareaList=this.GetItems(file)

c# - 为什么 System.Array 类实现 IList 但不提供 Add()

这段代码:int[]myArr={1,2};myArr.Add(3);在构建时抛出以下错误:errorCS1061:'System.Array'doesnotcontainadefinitionfor'Add'andnoextensionmethod'Add'acceptingafirstargumentoftype'System.Array'couldbefound(areyoumissingausingdirectiveoranassemblyreference?)IList接口(interface)有Add()方法,为什么Array没有实现?更新:我从答案中看到它确实明确地实现了

c# - LINQ to Entities - 多个 OrderBy 方法不起作用

如果我对查询应用两个OrderBy方法,就像这样query.OrderBy(rec=>rec.Name).OrderByDescending(rec=>rec.Title);然后只应用第二种方法,第一种方法被忽略。这是一个错误吗?如果我需要对一列进行升序排序而对另一列进行降序排序怎么办?方法语法根本无法实现吗? 最佳答案 试试这个:query.OrderBy(rec=>rec.Name).ThenByDescending(rec=>rec.Title);您的第二个OrderBy正在重置您的第一个结果集。这就是存在ThenBy扩展的原

c# - System.Windows.Input 不存在?

我的程序顶部有usingSystem.Windows.Input;,但它给我一个错误提示:Thetypeornamespacename'Input'doesnotexistinthenamespace'System.Windows'(areyoumissinganassemblyreference?)当我在Windows之后的句点上让IntelliSense弹出时,它只将Forms列为有效选项。我在VisualC#2010Express中使用.NETFramework4.0...我该如何解决这个问题? 最佳答案 我怀疑您创建的是Wi

c# - 未知模块中发生类型为 'System.IO.FileNotFoundException' 的未处理异常

我正在开发一个C#应用程序,但在调试运行时出现以下错误:Anunhandledexceptionoftype'System.IO.FileNotFoundException'occurredinUnknownModule.Additionalinformation:Couldnotloadfileorassembly'Autodesk.Navisworks.Timeliner.dll'oroneofitsdependencies.Thespecifiedmodulecouldnotbefound.Autodesk.Navisworks.Timeliner.dll位于应用程序的调试文件夹

c# - 抛出 'System.StackOverflowException' 类型的异常

我的程序抛出这个异常:System.StackOverflowException当编译器执行设置属性时。wine类:classwine{publicintyear;publicstringname;publicstaticintno=5;publicwine(intx,stringy){year=x;name=y;no++;}publicintprice{get{returnno*5;}set{price=value;}}}程序类:classProgram{staticvoidMain(string[]args){winew1=newwine(1820,"JackDaniels");C

c# - 如何让 Entity Framework Code First 和可为空的外键属性工作?

我正在尝试创建一个简单的EntityFramework代码优先应用程序。我有这些类(class):publicclassUser{publicintUserId{get;set;}publicstringUsername{get;set;}publicvirtualActivationTicketActivationTicket{get;set;}}publicclassActivationTicket{publicintActivationTicketId{get;set;}publicvirtualUserUser{get;set;}publicstringTicket{get;s

c# - 等于 System.Collections.Generic.List<T>... 的方法?

我正在创建一个派生自List的类...publicclassMyList:List{}我已经覆盖了MyListItem的Equals...publicoverrideboolEquals(objectobj){MyListItemli=objasMyListItem;return(ID==li.ID);//IDisapropertyofMyListItem}我也想在MyList对象中有一个Equals方法,它将比较列表中的每个项目,在每个MyListItem对象上调用Equals()。简单地调用...会很好MyListl1=newMyList(){newMyListItem(1),ne

c# - 将 DataAnnotations 与 Entity Framework 一起使用

我在VS2010中使用了EntityFramework来创建一个简单的人类,其中包含属性、名字、姓氏和电子邮件。如果我想像在本blogpost中那样附加DataAnnotations我有一个小问题,因为我的person类是动态生成的。我可以直接编辑动态生成的代码,但任何时候我必须更新我的模型时,我的所有验证代码都会被清除。第一直觉是创建一个部分类并尝试附加注释,但它提示说我正在尝试重新定义该属性。我不确定您是否可以在C#中进行属性声明,就像在C++中进行函数声明一样。如果可以,那可能就是答案。这是我尝试过的片段:namespacePersonWeb.Models{publicparti

c# - LINQ to Entities/LINQ to SQL : switching from server (queryable) to client (enumerable) in the middle of a query comprehension?

在许多情况下,我想在服务器端进行一些过滤(有时是投影),然后切换到客户端以执行LINQ提供程序本身不支持的操作。天真的方法(这基本上就是我现在所做的)是将其分解为多个查询,类似于:varfromServer=fromtincontext.Tablewheret.Col1=123wheret.Col2="blah"selectt;varclientSide=fromtinfromServer.AsEnumerable()wheret.Col3.Split('/').Last()=="whatever"selectt.Col4;但是,很多时候,这带来的代码/麻烦多于它的实际值(value)