地图TPT战略实体框架代码拳头
im首先处理EF代码,我喜欢抽象!所以想要这样的itemcat实体: public abstract class EntityBase { public int Id { get; set; } } public abstract class TreeBase : EntityBase { public int? ParentId { get; set; } public string Name { get; set; } public virtual TreeBase Parent { get; set; } public virtual ICollection Children { get; set; } } public abstract class CatBase : TreeBase { public
244 2024-04-26
编程技术问答社区
WCF REST服务(JSON),先用实体框架数据库使用我的模型数据
另一个相当大的标题.. 首先只是一些基本信息:使用.NET 4/EF 4.x/Visual Studio 2010 Sp1. 我有一个基于WCF REST的服务,该服务将JSON用作数据传输.我已经使用了示例(确保也有其他描述)来自Steve Mitchelotti http://geekswithblogs.net/michelotti/michelotti/archive/2010/08/08/21/restful-wcf-wcf-services-with-no-no-svc-file--svc-file---file---和no-config.aspx 我有一个非常基本的模型/类,如下: public class DiaryEvent { public Int64 ID { get; set; } public Int64 CalendarResourceID { get; set; } public string Subject
144 2024-04-26
编程技术问答社区
如何在一个实体B的集合中查询包含任何实体B的所有实体A?
给定以下两个示例C#实体类... class EntityA { public int EntityAId { get; set; } public virtaul ICollection Bs { get; set; } } class EntityB { public int EntityBId { get; set; } public string Foobar { get; set; } public virtual EntityA A { get; set; } } 我将如何使用实体框架 + linq查询所有EntityA在提供的EntityB>>>? 中包含任何EntityB的所有EntityA 澄清,如果我有以下EntityB ... 的子集 var bs = new List { new EntityB { Foobar = "a" }, new EntityB { Foobar = "b
150 2024-04-26
编程技术问答社区
EF4无法将一个对象添加到上下文中,即使我确信它没有被附加。
即使我坚信它没有附加,并且它与其他上下文没有相关性 , 我也无法在对象context中添加对象 我将EF 4与Poco对象一起使用. 如果我尝试 _currentContext.ObjectStateManager.GetObjectStateEntry(entityIn) 然后我得到错误 The ObjectStateManager does not contain an ObjectStateEntry with a reference to an object of type 'System.Data.Entity.DynamicProxies.OrderItem_7D361CB49D75AA90681B4BA3F924139ECB0FC1426E38E90C7B884A4E9CD777DF'. 足够公平.因此,如果我尝试附加 _currentContext.AttachTo("OrderItems", entityIn) 然后我得到
12 2024-04-26
编程技术问答社区
使用.NET4的Entity Framework建模,数据注释问题
我正在尝试在我的网站上使用实体框架.我遵循教程和Visual Studio(2010)并不抱怨.但是,当我添加exourneKey数据注释时,在网站上运行名称空间不存在时会遇到错误. CS0246: The type or namespace name 'ForeignKey' could not be found (are you missing a using directive or an assembly reference?) 进行了一些搜索后,似乎在.NET 4中不存在外国钥匙数据注释. 如果是这样,是否有一种方法可以在.NET 4? 中添加外键 解决方案 正确,system.com.ponentmodel.dataannotations.schema是.NET 4.5的一部分. 您是否看过Fluent API? 这是针对VS 2010的视频. http://msdn.microsoft.com/en-ca/en-ca/en-ca/data/da
2 2024-04-26
编程技术问答社区
Where语句后的Linq查询没有返回关系数据
public List GetAllFriendsTopStores(long uid, List users) { using (var entities = new myEntities()) { var v = entities.DbUsers .Where( x => users.Contains( x.uid )) .Stores // i can't select stores here? Why is this??? } } 在这种情况下,商店是一种导航属性...我需要能够在此场景中访问我的朋友的商店对象. 解决方案 Where您有IEnumerable收集,因此,如果您只有一个用户作为结果并要访问它 - 应用Single() var v = entities.DbUsers .Where( x => users.Contai
12 2024-04-26
编程技术问答社区
LINQ查询-只从子集合中获取订单和MAX日期
我正在尝试获取一个列表,该列表来自父母(1-*)实体收集模型中的标签中2个值. 我有3个实体: [客户]:客户ID,名称,地址,... [ order ]:OrderID,OrderDate,雇员,总计,... [ orderstatus ]:orderstatusid,statuslevel,statusdate,... a 客户可以拥有许多订单,从而依次可以拥有许多 orderstatus ,即. [客户] 1 - * [ order ] 1 - * [ orderstatus ] 给出了一个客户ID,我想获得所有订单(仅订购)和该订单的最新(Max?)orderstatus.statusdate. 我尝试了几次尝试,但似乎可以得到我想要的结果. private IQueryable GetOrderData(string customerId) { var ordersWithLatestStatusDate =
16 2024-04-26
编程技术问答社区
在Code First中不能让属性名称与外键一起工作
我已经提供了一个数据库,我需要先设置代码.我认为我已经完成了,我现在遇到的问题是我想更改实体中的一些外键名以使其更有意义. 假设我有两个桌子,人和位置,看起来像这样: Person ------ PersonId int not null (PK) DefaultLocation int not null (FK) Location -------- LocationId int not null (PK) 对于位置实体,我认为我已经知道了: public class Location { [Key] public int LocationId { get; set; } [InverseProperty("DefaultLocation")] public List PeopleWithDefault { get; set; } } 现在,我想要的是我的个人实体,一个默认设置导航属性和外键属性属性有2个属性
6 2024-04-26
编程技术问答社区
在代码优先的方法中使用存储过程?
我正在使用实体框架v6.1.3中的代码优先方法. 我的问题是:我正在使用代码优先的方法,我是否也应该通过实体注入存储过程,还是应该转到我的数据库并在那里创建一个存储过程? 解决相同的最佳方法是什么? 解决方案 您首先使用代码,请勿创建存储过程.切换到ORM的点是远离手动将代码直接添加到SQL中. Entity Framework提供了一种使用现有存储过程的方法,因此您不必重写整个数据库,但是您应该摆脱创建新的存储过程并将业务逻辑保留在应用程序中的位置. .
10 2024-04-26
编程技术问答社区
当关系型数据缺失时,能否使用Entity Framework?
我正在创建一个网站,并且数据将从一个包含数据库的外部应用程序发送,该数据库中只需要该网站的部分. "零件"是指每个表中的一些行,但不是全部. 手头的业务是管理慈善凭证的业务,他们的客户与他们有帐户.慈善机构可能想登录网站,并查看有关支付给他们的钱的信息,并且客户可能想登录并查看有关其帐户的信息. 但是,想要在线登录的客户数量仅是有帐户的人中的一小部分.我们要避免上传所有客户和慈善信息,因为这将是大量数据,必须保持最新,并且主要不使用. 当我们拥有已发行的代金券时,出现了问题,但是客户在帐户中没有足够的资金来覆盖它.在这种情况下,持有凭证,等待客户存款.慈善机构希望查看持有凭证的列表,但没有显示客户名称,他们只看到凭证详细信息,例如日期,金额和编号. 理想情况下,我希望网站数据库完全相关,但这将导致缺少数据的问题.例如,如果我们在网站数据库中上传持有凭证的详细信息(因为它们无法通过网站访问),则将插入到heldvouchers表中,因为外国密钥参考将失败向客户表指向
System.InvalidOperationException。检测到一个循环引用
System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: A circular reference was detected while serializing an object of type projectnetwork.Models.Branch. at System.Xml.Serialization.XmlSerializationWriter.WriteStartElement(String name, String ns, Object o, Boolean writePrefixed, XmlSerializerNamespaces xmlns) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationW
4 2024-04-26
编程技术问答社区
在MVC5/EF应用程序中实现动态LINQ查询?
作为概述,我正在尝试向我的应用程序添加Export()功能 - 允许用户指定某些模型字段,并且仅通过与Linq查询并使用 epplus 库将导出.我正在尝试基于 this 示例,但似乎缺少一些使它起作用或不了解某些东西的东西. 首先,我在称为DynamicLibrary.cs的主项目文件夹中添加了一个新的类文件.当我下载.zip 在这里,我"相信"代码i想要的是我在项目中复制到DynamicLibrary.cs的文件代码.这样做使我可以在项目中引用using System.Linq.Dynamic 现在,我坚持不懈地试图弄清楚如何为动态LINQ设置其余部分. 在我的ExportController ExportController中 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System
18 2024-04-26
编程技术问答社区
重新加载导航属性EF
我将EF6与DB-First一起使用.我的数据库包含2个表:作者和书籍.在使用EF加载对象之后,我直接删除数据库中的行(例如,在SQL Manegment Studio中或使用executenonquery()),如何重新加载导航属性?加载后,我可以在MyOBJ中看到相同的记录书籍().如果我直接插入数据库,则在MyOBJ上的Load()之后可见新的记录书. var cnt = new Entities(); var myObj = cnt.Authors. Where(x => x.Name = "Author Name"). Include("Books"). FirstOrDefault(); // Delete directly in database (ex: Delete From Books Where ID = ...) // DeleteDirect(); cnt.Entry(myObj).Collection("B
16 2024-04-26
编程技术问答社区
当使用group by时,LINQ从一个表中获取不存在于另一个表中的记录?
我有两张三张桌书,作者和小组. 书籍:书籍,名称,授权.... 作者:作者,firstName,lastname .... 组:groupid,name,授权... 我需要选择不属于任何组的所有authorIds,并且在两个日期之间没有少于3本书. List authorId= new List(db.Books.GroupBy(x => x.authorId) .Where(x => x.Any(y => y.datePublished = date) && x.Count() > 2) .Select(x => x.FirstOrDefault().authorId)).Distinct().ToList(); 解决方案 我想这将有效: List authorId = (List)db
6 2024-04-26
编程技术问答社区
根据条件删除有多个ID的记录
下面是我的班级: public partial class Ads { public int Id { get; set; } public int RegionId { get; set; } public string Name { get; set; } public int Group { get; set; } } 记录: Id Name Group 1 abc 1 2 xyz 1 3 lmn 1 4 xxx 2 5 ppp 2 6 ttt 3 7 ggg 3 现在,我想删除所有记录/仅使用同一组的特定ID的所有记录. 代码: public void Delete(int[] ids,bool flag = false)
8 2024-04-26
编程技术问答社区
MVC(4)和EF(4)中导航属性的验证
我使用EF创建了一个模型,然后在MVC中创建了一个控制器和视图. 模型类型A具有导航属性,以B类型.因此,当我创建A时,我想选择B. MVC向导创建控制器并仅查看标量属性创建的字段.所以我去了A上的创建动作,为: public ActionResult Create() //Create action for A { List b = db.B.ToList(); //db is my DataContext ViewData["B"] = companies.Select(option => new SelectListItem { Text = (option.Name.ToString()), Value = (option.Id.ToString()) }); r
6 2024-04-26
编程技术问答社区
实体框架在我的.net命名空间抛出一个错误
错误: 类型'System.Data.Entity.dbContext'在未引用的汇编中定义.您必须向汇编" EntityFramework,版本= 6.0.0.0,culture =中性,publicKeyToken = B77A5C561934E089'添加参考. 您可以看到我的实体框架在引用中抱怨,试图解决它,但无处可寻.有人以前遇到过这个问题吗?我基本上是在尝试这样做: http ://www.asp.net/web-api/overview/getting-with-aspnet-web-api/tutorial-your-first-web-api 解决方案 转到您的解决方案并按照此步骤(前提是您从指定的页面中使用已下载的zip): 右键单击SLN节点和Enable Nuget package restore,然后重建SLN. 如果尚未安装,请尝试打开管理Nuget软件包,并安装了EF. 不建议您手动加载DLL,但您可以尝试添加它.
2 2024-04-26
编程技术问答社区
带计数的GroupBy
我有列表testList返回,它的 5 项目具有适当的值. var testList = _context.LectureReportStudent .Include(x => x.LectureReport) .Include(x => x.LectureReport.Lecture) .Include(x => x.Student) .Where(x => stuIds.Contains(x.LectureReport.LectureId)) .Select(x => new StudentModel { Name = x.Student.FirstName + "" + x.Student.LastName, Position = x.Student.JobTitle, JobId = x.LectureReport.LectureId, StudentId = x
12 2024-04-26
编程技术问答社区
多重继承(也许是抽象类?)C#实体框架
最后几周,我一直在研究基于实体框架6(code-first)的数据库的开发,C#使用Visual Studio 2015. 我目前正在研究继承提供的所有选择. 在这一点上,遵循数据库的标准,我应该用主键实现多个继承. 这意味着什么? 这意味着我应该实施一个从另一个班级继承的班级,并拥有自己的PK来识别他与父级不同.在这一点上,我可以用TPC实现它,使父类抽象而不是在父级上定义任何PK.这是此时代码的一个示例(这有效,我已经对其进行了测试) public abstract class Person { public string Name { get; set; } public string LastName { get; set; } } [Table("Students")] public class Student : Person { [Key]public int
2 2024-04-26
编程技术问答社区
简单网络应用的SQL服务器的替代方案
我有一个使用SQL Server,Entity Framework,C#和WCF编写的简单应用程序.当我想与朋友共享此应用程序时,我意识到他们没有在计算机上使用SQL Server.我可以选择SQL Server Express Edition,因为我的应用程序的使用是个人的和非商业化的. 我发现MySQL是SQL Server的流行替代品. 1)搬到MySQL时是否需要更新我的实体? 2)我是否应该预期由于实体层变化而导致的BL层的代码更改? (我想知道是否是为SQL Server构建的实体) 与MySQL相比,是否有类似于MS访问的数据库? 是否有任何数据库不需要安装但可以像MS访问一样复制? 感谢您的回复! 解决方案 我不确定您的BLL外观,我没有实体框架的经验,但是IVE多次经历了Linq-to-SQL与SQL-Server的效果更好,与任何其他数据库一样. 因此,除非您有充分的理由不是使用SQL Express,否则我建议坚持使
4 2024-04-26
编程技术问答社区