Tag: entity framework

使用entity frameworkselect多个列

也许一个简单的问题,但无法轻松find它,所以原谅我=)我尝试select多个列。 我使用的陈述是: var dataset2 = from recordset in entities.processlists where recordset.ProcessName == processname select recordset.ServerName, recordset.ProcessID, recordset.Username; 显然,这甚至没有编译。 什么是正确的语法? 我也试过基于方法,甚至很难这个语法似乎是正确的,当访问它会引发一个'无法转换types'匿名types'键入'AIM.PInfo'。 LINQ to Entities只支持投射EDM原始types或枚举types。 例外。 有任何想法吗? var dataset = entities.processlists .Where(x => x.environmentID == environmentid && x.ProcessName == processname && x.RemoteIP == remoteip && x.CommandLine == commandlinepart) .Select(x => new { x.ServerName, x.ProcessID, x.Username }) .Cast<PInfo>().ToList();

如何用EF6删除1000行?

我正在使用entity framework6。 我有一个名为Tests的testing信息表。 我从这个表中删除行首先得到一个testing列表,做一个删除每个然后一个提交。 var testList = _testService.GetTests(1, userId).ToList(); testList.ForEach(_obj => _uow.Tests.Delete(_obj)); _uow.Commit(); 我有另一个问题的信息称为问题表。 我想这样做,但在这个表中有超过1000行。 如果我把它们全部列出来,然后做1000个删除,这将不是非常有效。 这个问题的删除不经常发生。 有没有人有一个build议,我怎么能做到这一点。 我应该做1000次删除。 使用EF做这种事情是正常的吗?

从ID列表更新entity framework中的多行

我试图创build一个entity framework的查询,这将允许我采取ID列表,并更新与他们相关联的字段。 SQL中的示例: UPDATE Friends SET msgSentBy = '1234' WHERE id IN (1, 2, 3, 4) 如何将上述内容转换为entity framework?

项目中未安装EntityFramework软件包

我很难让EF安装在我称之为“Match”的非常简单的项目上(刚刚学习MVC,比从未更好)。 这里的一般上下文是我创build了只有2个字段的模型类,现在我想要更改模型类有更多的字段/属性。 我已经在Model类中进行了更改,现在正在尝试更新数据库来匹配。 我试图从EF使用更新数据库来做到这一点。 PM> install-package EntityFramework您正在从Microsoft下载EntityFramework,该许可协议位于http://go.microsoft.com/fwlink/?LinkId=253898&clcid=0x409上 。 检查软件包是否有其他依赖关系,这些依赖关系可能与自己的许可协议一起提供。 您使用包和依赖关系构成您接受许可协议。 如果您不接受许可协议,请从您的设备中删除相关组件。 成功安装“EntityFramework 5.0.0”。 成功添加“EntityFramework 5.0.0”以匹配。 input'get-help EntityFramework'来查看所有可用的Entity Framework命令。 PM> Enable-Migrations Get-Package:找不到与参数名称“ProjectName”匹配的参数。 在C:\ Users \ Dave \ Documents \ Visual Studio 2010 \ Projects \ Match \ packages \ EntityFramework.5.0.0 \ tools \ EntityFramework.psm1:611 char:40 + $ package = Get-Package -ProjectName <<<< $ project.FullName | ?{$ […]

如何在entity framework中进行“in”查询?

我如何做一个select在LINQ实体从列表中select行键? 像这样的东西: var orderKeys = new int[] { 1, 12, 306, 284, 50047}; var orders = (from order in context.Orders where (order.Key in orderKeys) select order).ToList(); Assert.AreEqual(orderKeys.Count, orders.Count); 我尝试使用一些答案中提到的Contains方法,但它不起作用,并引发此exception: LINQ to Entities不识别方法'布尔包含[Int32](System.Collections.Generic.IEnumerable`1 [System.Int32],Int32)'方法,并且此方法不能转换为存储expression式。

EF代码首先DBContext和事务

我想知道什么是用DBContext实现事务的最好方法。 尤其是, 如果我更改多个实体, DbContext.SaveChanges实现事务内部吗? 如果我想多次调用DbContext.SaveChanges (同一个contxet /不同的contxets),如何实现事务?

LINQ,无法创buildtypes为XXX的常量值。 在此上下文中仅支持基本types或枚举types

在我的应用程序中,我有讲师,他们有他们可以教的课程列表,当我删除课程时,我想删除与讲师的联系。 代码如下: public void RemoveCourse(int courseId) { using (var db = new AcademicTimetableDbContext()) { var courseFromDb = db.Courses.Find(courseId); var toRemove = db.Lecturers .Where(l => l.Courses.Contains(courseFromDb)).ToList(); foreach (var lecturer in toRemove) { lecturer.Courses.Remove(courseFromDb); } db.SaveChanges(); } } 但它不起作用。 我明白了 NotSupportedException:无法创buildtypes为Course的常量值。 在此上下文中仅支持基本types或枚举types。 我究竟做错了什么?

entity framework:如何禁用特定查询的延迟加载?

有什么办法来禁用惰性加载特定查询entity framework6? 我想定期使用它,但有时我想禁用它。 我正在使用虚拟属性来延迟加载它们。

entity framework代码首先创build“鉴别器”列

我正在使用EF CF的方式与MySQL的网站。 出于某种原因,EF在我的Post表中创build一个名为“Discriminator”的列,并包含VARCHAR“Post”。 为什么创build这个列? 我可以做些什么来避免它被创build? 有这个专栏有什么好处吗?

我如何禁用代码第一次迁移

我在EF5中有一个代码优先的实体模型。 但我想手动pipe理数据库更改 – 我不希望EF修改我现有的数据库及其所有数据。 但是,当我在EF映射和数据库中进行并行更改时,EF拒绝正确操作告诉我需要使用代码第一次迁移。 如何closures此function?