草庐IT

ef-database-first

全部标签

c# - Linq 性能 : should I first use `where` or `select`

我在内存中有一个很大的List,来自一个具有大约20个properties的类。我想仅根据一个property过滤此列表,对于特定任务我只需要该property的列表。所以我的查询是这样的:data.Select(x=>x.field).Where(x=>x=="desiredvalue").ToList()先使用Select还是使用Where哪个性能更好?data.Where(x=>x.field=="desiredvalue").Select(x=>x.field).ToList()如果这与我将数据保存在内存中的数据类型或字段类型有关,请告诉我。请注意,我也需要这些对象来执行其他任

c# - EF 6 - 如何正确执行并行查询

创建报告时,我必须执行3个涉及相同上下文的不同实体的查询。因为它们很重,所以我决定使用.ToListAsync();让它们并行运行,但令我惊讶的是,我从中得到了一个异常(exception)...使用EF6并行执行查询的正确方法是什么?我应该手动启动新任务吗?编辑1代码基本上是using(varMyCtx=newMyCtx()){varr1=MyCtx.E1.Where(blablabla).ToListAsync();varr2=MyCtx.E2.Where(blebleble).ToListAsync();varr3=MyCtx.E3.Where(blebleble).ToList

c# - 为什么 IObservable<T>.First() 会阻塞?

我最近一直在努力了解.NET的响应式扩展,但在概念上遇到了一点障碍:我无法弄清楚为什么IObservable.First()会阻塞。我有一些示例代码看起来有点像这样:vara=newListItem(a);varb=newListItem(b);varc=newListItem(c);vard=newListItem(d);varobservableList=newList{a,b,c,d}.ToObservable();varitemA=observableList.First();//NeverreachedAssert.AreEqual(expectedFoo,itemA.Foo

c# - 如何使用 C# 和 SDK 获取 OOXML 中的 'first' 工作表?

所以!:)一个简单的问题——可能有人问过它,但我找不到它。我正在使用OpenXMLSDK和C#从XLSX中检索数据。我想获得“第一张”工作表(就像您在Excel中看到的第一张一样),但是当我使用...WorkbookPartwbPart=workBook.WorkbookPart;//Nowlet'sfindthedimensionofthefirstworksheetstringsheetArea=wbPart.WorksheetParts.First().Worksheet.SheetDimension.Reference.Value;不幸的是,在全新的XLSX中,这拉取了“She

c# - EF lambda : The Include path expression must refer to a navigation property

这个问题在这里已经有了答案:EF:Includewithwhereclause[duplicate](5个答案)关闭5年前。这是我的表达:Coursecourse=db.Courses.Include(i=>i.Modules.Where(m=>m.IsDeleted==false).Select(s=>s.Chapters.Where(c=>c.IsDeleted==false))).Include(i=>i.Lab).Single(x=>x.Id==id);我知道原因是模块部分的Where(m=>m.IsDeleted==false),但为什么会导致错误?更重要的是,我该如何修复它

c# - EF6 : Renaming namespace using Code First Migrations

我可以重命名我整个项目的命名空间(当然包括:DbContext类、迁移配置类等)而不破坏任何东西或不必重新创建我的所有迁移?比如说,我有ProjectMyProject,命名空间是Foo.MyProject我的配置类在Foo.MyProject.Migrations假设我想为Bar重命名Foo命名空间,当然我的Configurations命名空间现在将是Bar.MyProject.Configurations是否有任何正确的方法可以做到这一点并保持我当前的所有迁移仍然有效?这些方法是否涉及手动编辑___MigrationHistory表或其他内容?(我一眼就看到了ContextKey列

c# - 如何在 Entity Framework Code First 中表示 Bridge 表

我正在尝试找出如何表示两个实体(多对多关系)之间的桥接表我首先使用实体​​框架代码Student:StudentIDintPKStudentNameVARCHAR(50)Class:ClassIDintPKClassNameVARCHAR(50)StudentClass:StudentIDINTPKClassIDINTPK我应该在EntityFrameworkCodeFirst中使用什么最好的类结构来表示它,我如何从桥接表中选择并插入其中。我应该像这样表示类吗:publicclassStudent{publicintStudentId{get;set;}publicstringStud

c# - 我应该如何访问 Entity Framework Code First 中的计算列?

我在我的ASP.NETMVC应用程序中使用EntityFrameworkCodeFirst。我的一个类(class)有几列加在一起。我通过在数据库初始值设定项中运行altertable脚本,将这些列存储为表中的计算列。假设类看起来像:publicclassBond{publicdecimalParAmountOfIssuance{get;set;}publicdecimalAccruedInterest{get;set;}publicdecimalPremium{get;set;}publicdecimalOriginalIssueDiscount{get;set;}}改变脚本是这样的

c# - 如何使用 EF 5.0 Code First 启用并发检查?

我想在原子操作中进行先检查后更新。我正在使用dbcontext来管理事务。如果记录已被另一个线程修改但没有抛出异常,我希望得到一个异常。任何帮助,将不胜感激。这是我的输出:Thread-4:Reading...Thread-5:Reading...Thread-5:Updatingdestination1Thread-4:Updatingdestination1Thread-4:SaveChangesThread-5:SaveChanges这是我的代码片段:publicstaticvoidMain(string[]args){PopulateData();(newThread(Upda

c# - 如何更新远程 ms sql server 上的数据库(EF 代码优先)

在开发应用程序时,我使用了EF自动迁移。所以现在当我在VPS上部署我的应用程序时,我不知道如何向我的数据库添加新表和字段。我可以直接从我在VS2012中的项目连接到远程数据库,更新连接字符串,然后在包管理器控制台中使用“update-database”更新数据库吗?或者我需要在我的VPS上安装VS并从VPS更新数据库吗?我的数据库已经装满了数据,所以我不能删除它并重新创建。 最佳答案 是的,您可以使用VisualStudio,关注thistutorial-它也应该适用于VS2012。您也可以使用CodefirstMigration在