Tag: orm

默认entity framework超时

EF查询的默认超时是多少? 我试图通过检查context.CommandTimeout找出它,但它返回null 。 我还查看了连接字符串中的web配置,例如Connect Timeout= ,但默认情况下似乎没有。

DataObjects.NET可以支持SQL标识列吗?

虽然有很多关于DataObjects.NET的东西,但我发现帮助资源是精益的,并且找不到使用DataObjects.NET和RDBMS生成主键的一个例子。 看起来D4O似乎不会对SQL Server进行插入,除非它在键的控制之下。 有没有人在野外解决这个问题?

我不明白EF5 dbContext.Entry(entity).Reload()方法应该如何工作?

在这个例子中: using System; using System.Collections.Generic; using dbModel; using System.Linq; using System.Data.Entity.Infrastructure; namespace WinApp { public partial class Form1 : Form { private dbEntities dbc; public IQueryable art; public IQueryable grp; public Form1() { InitializeComponent(); dbc = new dbEntities(); } private void GetData() { art = from a in dbc.ARTIKLIs select a; grp = from g […]

具有Queryover的动态Where条件

我有一个应用程序,我正在尝试实现DDD概念。 我的存储库类有一些列出实体的方法。 我想知道如何使用QueryOver进行查询以使用AND运算符过滤分离,当参数填充时,sample public IEnumerable FindProducts(string name, decimal? price, DateTime? validDate, int? stock, int? idSupplier) { var query = Session.QueryOver().OrderBy(x => x.Name).Asc; if (!string.IsNullOrEmpty(name)) // add where condition for name parameter if (price.HasValue) // add ‘AND’ where condition for price parameter if (validDate.HasValue) // add ‘AND’ where condition for validDate parameter if (idSupplier.HasValue) // add […]

将C#对象映射到数据库模式

我正在用C#开发一个客户端 – 服务器桌面应用程序系统 。 客户端只是一个瘦客户端,可以显示服务器告诉它的任何内容。 服务器直接与本地数据库通信,本地数据库用于存储各种系统的元数据。 每个系统都有自己的表,其结构对于该系统是唯一的。 我试图理解如何在没有“硬编码”任何内容的情况下告诉桌面应用程序数据库的结构,如果这是有道理的。 我相信我需要研究对象关系映射,但我不太清楚从哪里开始,因为我以前从未接受过这种复杂性的项目。 我的想法是我的服务器配置以某种方式定义了这个映射,并且它可能是可扩展的,因此我可以在将来为更多系统添加更多映射,或者可能更改映射。 我怎么看这个系统工作是这样的: 客户端上的用户将包含元数据的文件上载到服务器。 服务器将确定此文件所针对的系统类型,然后解析该文件以提取元数据,并将其输入数据库。 我最初设想这种情况的方式是我将有一个通用的抽象类/接口,需要为每个系统类型派生。 然后,派生类将实现特定于该系统类型的解析函数,以便它可以从文件中提取元数据。 但问题是我无法将提取的数据输入数据库,因为服务器不知道派生类的底层结构。 谁能指出我正确的方向? 我发现了NHibernate ,这听起来像我可能需要的,但我不是百分百肯定。 正如我先前所说,问题的一部分是我对其中一些概念没有充分的理解。 任何人都可以推荐一些在线资源,这些资源可以帮助我理解一般的Object Relational Mapper(ORM) ,特别是它与.Net Framework有什么关系?

Fluent nHibernate – 如何在联结表上映射非键列?

以Fluent nHibernate网站上提供的示例为例,我需要稍微扩展一下: alt text http://wiki.fluentnhibernate.org/images/2/24/FirstProjectSchema.png 我需要在StoreProduct表中添加一个’Quantity’列。 我如何使用nHibernate映射这个? 为上面给出的场景提供了一个示例映射,但我不确定如何将Quantity列映射到Product类上的属性: public class StoreMap : ClassMap { public StoreMap() { Id(x => x.Id); Map(x => x.Name); HasMany(x => x.Employee) .Inverse() .Cascade.All(); HasManyToMany(x => x.Products) .Cascade.All() .Table(“StoreProduct”); } }

流畅的NHibernate多列有多列不插入

我正在努力与流利的nhibernate从Fluent Nhibernate多对多映射与额外的列 我复制了映射并编写了我能做的最小程序……但是它不会保存……有人能提供一些见解吗? public class Product { public int Id { get; set; } public string Name { get; set; } public IList Inventory { get; set; } public Product() { Inventory = new List(); } } public class Warehouse { public int Id { get; set; } public string Name { get; set; } […]

.NET,C#,LINQ,SQL和OR映射 – 我只是不明白:(

我只是不明白,我甚至不确定我是否正朝着正确的方向前进…… 问题: 所以有我的C#应用​​程序。 我通过SSH连接到在线MySQL数据库。 现在我可以使用MySQL Connector / .Net驱动程序(http://dev.mysql.com/downloads/connector/net/5.2.html)在其上运行查询内容。 一切正常。 现在我想要一些OR-Mapping:我想在本地实体上运行查询。 例如:在在线数据库中,有表’order’,它具有’order_total’和’order_date’属性。 现在我运行“SELECT * FROM order” 下一步是什么? 如何将此结果转换为实体,然后在修改后回写更改? 到目前为止,我所能找到的只是必须使用LINQ和(可能)XML。 但我只是没有得到整个事情:( 我感谢每一个提示或者简短的例子:) 提前致谢!

Nhibernate与其他ORM的区别是什么?

除了它的开源和成熟之外,将nhibernate与其他.net ORM框架(如Subsonic , ADO.NET Entity Framework等)分开的区别因素是什么? 更好的说,我为什么要选择nhibernate而不是其他.netentity framework?

“每个请求的会话”模式是否利用了缓存? (“每个会话的会话”或“每个请求的会话”)

我今天在Web应用程序中从头开始构建一个新的应用程序。 (技术是Asp.Net ,我使用的ORM是Entity Framework 。如果重要的话) 我不确定每个请求广泛使用的模式会话是否真的很好。 在我看来,模式的优点是缓存不会增加,直到数据库会话崩溃\太大而因此效率低下。 但是每个请求的新会话是不是太多了? 这意味着每个服务器调用都会重置缓存,即使像auto-complete这样的简单ajax请求也有一个全新的缓存,实际上对于缓存重置的每个键击都是如此。 您在一个请求中查询同一对象实体行的可能性很小。 每个会话的会话是不是更好的模式? 它具有两方面的优点 缓存永远不会增长。 实际上可以使用缓存… 那么…… 为什么每个请求的会话被如此广泛地使用,并且每个会话的会话不是? 澄清: 当我编写ORM会话时,它既适用于NHibernate’s session ,也适用于EntityFramework’s DbContext 。 我的意思是在每个请求上对session \ dbcontext进行flush-commit-SaveChanges。