我有一个映射在stream利的nhibernate类,但我想要的一个类属性被映射忽略。 随着类和映射下面我得到这个错误: 以下types不能用作代理:iMasterengine.Data.Model.Calendar:method get_HasEvents应该是虚拟的 //my class public class Calendar : IEntity { public virtual int Id { get; private set; } public virtual string Name { get; set; } public virtual string SiteId { get; set; } public virtual IList<CalendarEvent> Events { get; set; } //ignore this property public bool HasEvents { get { return […]
我很抱歉,但我是新的存储库模式,unit testing和ORM工具。 我一直在研究unit testing和存储库模式,并得出了一些结论,我想知道我是否正确。 存储库模式有助于unit testing在控制器中被replace,例如,使用它? 因为创build上下文(在EF中)或会话(在NH中)的存根/假更难,对吗? 存储库本身没有testing? 为什么? 使用EntityFramework或NHibernate与存储库模式,如果我想testing我的存储库,我需要做集成testing? 因为如果我使用我的上下文/会话的假实现,我没有做真正的testing? 因为上下文/会话本身是存储库(我的意思是他们实现了添加,删除,编辑,GetById,GetAll,..)的真实逻辑? 与EF或NH的存储库模式就像一个包装? (不仅是一个包装,我知道这是一个域的导入概念。)
我不是NHibernate的用户; 我写了一个序列化实用程序库。 用户已经logging了一个function请求,我应该处理NHibernate代理类,将它们与实际types相同。 目前我的代码被视为意外的inheritance,并抛出一个exception。 该代码不会提前知道有关NHibernate(包括没有参考,但我不是反映; -p) 有检测这种代理types的强大/保证的方式? 显然DataContractSerializer处理这个罚款,所以我希望这是非常简单的事情。 也许一些界面或[attribute]装饰。 另外,在反序列化过程中, 此刻我会创build原始types(而不是NHibernatetypes)。 这是为了持久的目的吗? 还是需要代理types? 如果后者; 什么是需要创build一个代理types的实例?
问题说明了这一切,默认情况下,它映射为一个string但我需要它映射为一个int 。 我目前正在使用PersistenceModel设置我的约定,如果这有什么区别。 提前致谢。 更新发现从中继获取最新版本的代码解决了我的困境。
在我的C#项目中,我需要在代码中创build一个具有dynamic列号的表的数据库。 喜欢这个 —————————————————————————— | Time ¦ Element #1 | Element#2 ¦ … ¦ Element#N ¦ —————————————————————————— ¦ TimeValue#1 ¦ Element#1Value#1 ¦ Element#2Value#1 ¦ … ¦ Element#NValue#1 ¦ ¦ TimeValue#2 ¦ Element#1Value#2 ¦ Element#2Value#2 ¦ … ¦ Element#NValue#2 ¦ … ¦ TimeValue#M ¦ Element#1Value#M ¦ Element#2Value#M ¦ … ¦ Element#NValue#M ¦ —————————————————————————— 我使用简单的SQL查询“SQL CREATE TABLE” public […]
我的项目分层如下: – DAL (Entity) – > BLL (DTO) – > ApplicationComponent (ViewModel) 。 应用程序的多个组件( ApplicationComponent )将访问BLL 。 组件包括Windows服务,Web服务,Web API和MVC控制器。 我将NHibernate Entity对象转换为DTO对象,同时将它们从DAL传递到BLL 。 在将此状态传递给ApplicationComponent , BLL再次将其转换为ViewModel 。 这有助于我将问题与每个层中的数据处理方式分开。 我不赞成返回NHibernate Entity对象来查看以下原因: – 数据暴露给我想要隐藏的UI (或只在需要时才暴露),如密码,用户types,权限等。 在引用/连接上,当访问属性时, NHibernate执行额外的查询,从而使得使用延迟加载无效。 向用户( Entity )暴露的不必要的数据会造成混淆和缺陷。 持久性实现泄漏到BLL / UI 。 Entity不是为UIdevise的。 它不能在所有情况下提供UI 。 我们在DTO属性上使用属性来进行用户inputvalidation,这与Entity看起来很奇怪。 我正面临以下问题: 最明显的问题是具有相同function的冗余对象。 我必须在每个图层中编写映射器方法来转换对象。 这可以通过使用AutoMapper或类似的东西最小化; 但是并没有完全解决问题。 问题: – 这是一个过度分离,应该避免(至less最小化)? 如果这种方法是正确的,我没有看到任何简单的方法来完全绕过我上面提到的两个问题。 请build议。 […]
我有一个IBankAccount接口,我将传递给ApplicationService。 帐户对象(在ApplicationService项目中)所做的更改需要保存在数据库中。 存储库使用IBankAccount接口接收更改。 我怎样才能把这个数据存入数据库? 这是使用LINQ to SQL实现的。 注意:以下是来自Scott的意见http://weblogs.asp.net/scottgu/archive/2007/06/29/linq-to-sql-part-3-querying-our-database.aspx “添加接口到LINQ to SQL数据模型类,LINQ to SQL类是部分类 – 这意味着你可以直接添加接口到它们。 public class LijosSimpleBankRepository : ILijosBankRepository { public System.Data.Linq.DataContext Context { get; set; } public virtual void UpdateAccount(DomainInterfaces.IBankAccount iBankAcc) { DBML_Project.BankAccount bankAccount; } } namespace DomainInterfaces { public interface IBankAccount { int BankAccountID { get; set; } string AccountType { get; […]
看来我无法find正确的语法来定义一个使用stream利Nhibernate的nhibernatefilter。 我正在尝试关注这个ayende的博文: http://ayende.com/Blog/archive/2006/12/26/LocalizingNHibernateContextualParameters.aspx 我用.FormulaIs()方法在我的属性上定义了公式,但在google上找不到如何将此定义转换为stream畅的nhibernate: < filter-def name='CultureFilter'> < filter-param name='CultureId' type='System.Int32'/> < /filter-def>
有没有人用nHibernate使用JSON.NET? 我注意到当我尝试使用子集合加载一个类时出现错误。
NHibernate映射文件中的列表,集合和包有什么区别? 每个与.NET集合有什么关系?