是否可以使用Fluent NHibernate约定将所有ICollection映射为集合?我有一个这样的实体:
public class NoahsArk
{
public virtual ICollection<Animal> Animals { get; set; }
public NoahsArk()
{
Animals = new HashSet<Animal>();
}
}
使用fluent映射,该属性将映射为
我们如何用FNH表达这一点
<class name="Order" .... >
....
<set name="PurchasedItems" table="purchase_items" lazy="true">
<key column="order_id">
<composite-element class="Purchase">
<property name="PurchaseDate"/>
标题可能会让人困惑,所以我会尽量详细说明。我有一个跟踪清单或办公室时间的业务对象。所以在我的数据库中有两列,都可以为null,但只有一列不能为null。在我的映射中,我有
References(x=>x.Manifest, "ManifestId").Cascade.All();
References(x=>x.FieldOffice, "FieldOfficeId").Cascade.All();
这导致了一个错误。那么我的问题是:如果外键为null,是否可以这样映射
很抱歉,这
我创建了一个小应用程序,其中我使用的是Fluent Nhibernate。应用程序在windows上运行正常,但在Mono中出现异常
---> NHibernate.HibernateException: Could not create the driver from
NHibernate.Driver.MySqlDataDriver, NHibernate, Version=3.1.0.4000,
Culture=neutral, PublicKeyToken=aa95f207
我是Fluent nHibernate的新手,我想知道,我是否有两个班级的个人资料和电子邮件,一个对应多个,如下所示。。。我想流利地定义nHibernate映射,这样当删除配置文件时,电子邮件将保留在数据库中,密钥设置为Null。或者换句话说,将“删除时设置为空”
非常感谢您的帮助
public sealed class ProfileMapping : ClassMap<Profile>
{
public ProfileMapping()
是否有一种方法(在Fluent NHibernate中)可以从彼此没有直接关系的表中级联删除?我的情况如下:
我希望在删除CustomerProduct(其中auth.Customer=cp.Customer和auth.Product=cp.Product)时级联删除授权
直到最近,授权才与CustomerProduct建立了直接关系,但它已经脱离了这一关系,因此我无法以这种方式解决问题
我希望做一些类似的事情(从CustomerProduct映射):
mapping.HasMany(x=>x
我需要进入FluentNhibernate和NHibernate代码,以便重新构建解决方案
并使用了新的程序集,但问题是有一个名为
NHibernate.ByteCode.Castle.Dll拒绝加载我自己版本的NHibernate
一直告诉我公共令牌不匹配,那么我从哪里可以得到源代码呢
对于这个程序集,我可以引用我的NHibernate程序集并重建它
或者问题是:它是开源的吗?:$
我多傻啊
它附带了Nhibernate源代码,但让我困惑的是,当我打开Nhibernate解决方案时,Nhibe
我有一个sql表,它的字符串列可以包含null、空字符串或双精度值。
我想将此列映射到一个C#属性,它是一个双精度,当该列为null或空时默认为零。
我可以用流畅的nhibernate映射来实现这一点吗?
我试过这个:
Map(p => p.doubleProperty).CustomSqlType("varchar(20)").CustomType("double").Default("0");
和这个主题的变体,但我总是得到一个错误,转换失败。我只是将它映射到一个字符串,并且在您的实
我是NHibernate和Fluent NHibernate的新手,我在NH3.0上使用Fluent 1.2已经有6个月了。我刚升级到流利1.2的NH3.1。现在我(在VisualStudio中)收到了一个警告,我试图修复它,但没有成功。我需要一些帮助
在我的Global.asax文件中,我流畅地配置了NHibernate:
var nhConfig = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionS
我有答案,明天就贴上去
我有一个类似乎在使用父主键列,而不是它自己的主键列
这里涉及两个类ActionHistory和ActionData。父类ActionHistory表示一个操作以及执行该操作的详细信息。子类ActionData表示由操作创建的一段数据。每个ActionHistry都有许多ActionData,这些数据通过多对一映射来表示
课程包括:
public class ActionHistory
{
public virtual int Code { get; set; }
我有一个Address类,包含一个DeliveryDays集合。
地图如下所示(可在这个精彩的网站上找到!=):
我的DeliveryDay类没有提及地址,我宁愿不提及
在向集合中添加项时,所有这些都非常有效,但在删除项时则完全无效:不会生成SQL Delete
我遗漏了什么?要得到准确的答案,我想您需要发布更多的代码。根据到目前为止您发布的代码,我猜您希望使用Cascade.AllDeleteOrphan()而不是Cascade.All()
如果关联的地址被删除,则级联选项All将仅在Deli
我试图让模式导出与域对象中表示的验证器一起工作。我在一个属性上有一个[NotNull]属性和一个ValidatioDef,但该列仍然被模式导出表示为可为Null。我肯定这是一个配置问题,但不知道在哪里。有些电线坏了。这是我的配置和生成代码
[Test]
public void GenerateSchemaWithValidation()
{
var nhvConfiguration = new FluentConfiguration();
nhvConfiguration
我的NHibernateUtil类位于我的应用程序的基础架构层,但我遇到了以下问题:
...
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Computer>());
。。。
.Mappings(m=>m.FluentMappings.AddFromAssemblyOf());
为了实现这一点,我必须将域层公开给基础结构层。由于映射(例如ComputerMapping),域层还可以访问基础结构层,这会导致循环依赖
如何让
我有一个包含产品的查找表(Product table)、一个包含订单详细信息的CustomerOrder表和一个包含每个订购产品一行的OrderLines表
实体看起来像这样
订单线
产品
这些表看起来相同,只是有一个ProductId外键而不是Product。
映射覆盖如下所示
用于订单行
mapping.HasOne(x => x.Product)
.Fetch.Join()
.Cascade.All();
真的是这样。问题在于,在上面的语句中,如果删
给出以下结构:
MyBaseClass {
public int Id {get; private set;}
}
MySubclassWithDiscriminator : MyBaseClass {
}
MySubclass : MyBaseClass {
public string SomeThing {get; set;}
}
我如何使用Fluent NH正确地映射这些,使用每个子类的表和每个类的表层次结构的组合?我尝试了一个自定义的AutomappingConfigura
我有一笔遗产
public abstract class UserEntity : Entity
{
public virtual int Id { get; protected set; }
}
public class Employee : UserEntity
{
public virtual string Email { get; set; }
}
Entity是NH类的标准,其中重写的方法等于、GetHashCode等,我使用AutMap重写
我用流利的NHiber
我对通过NHibernate得到的一个例外感到困惑和沮丧。我为这篇文章的篇幅感到抱歉,但我已经尝试了适当的细节来解释这个问题,以获得一些帮助
事实如下:
我有一个Person类,其中包含一个属性BillingManager,它也是Person类型。我将此映射为FNH“参考”
我有一个ExpenseReport类,其中包含一个由提交的属性,该属性是个人类型。我将此映射为FNH“参考”
我有一个BillableTime类,它包含一个属性Person,它是Person类型。我将此映射为FNH“参考”
我在使用Fluent NHibernate中的Automapper获取多对多关系以保存NHibernate中的加入记录时遇到问题
关于这一点,在S.O上还有很多其他的帖子,但到目前为止,没有一篇能够解决这个问题,我想知道我是否在做一些不同的事情
我有要映射的应用程序设置,当我在DB中手动创建连接记录时,我会返回数据,因此在读取级别上,它映射正确,但不会保持关系
这是相关的映射。我曾使用带有默认约定的automapper,但最终基于另一篇SO帖子尝试了这一点
.Mappings(m => {
我有一个ASP.NET MVC4 web api,它使用fluent NHibernate,但是当我运行调试时,第一次尝试访问任何使用数据库的站点需要1½分钟,因此我发现,但我不确定如何利用它
当它在实时服务器上运行时,它必须对会话数据进行垃圾收集,因为如果我很长时间没有使用它,重新配置它需要很长时间
有没有可能把时间从1.5分钟缩短到10秒以下
我当前的SessionFactory类如下所示
public class SessionFactory
{
private static re
}
上面的代码允许我在类型引用的情况下更改外键关系的命名约定。如何实现IHasManyConvention name和IHasManyToManyConvention的相同结果。IReferenceConvention的名称更改约定完美地展示了这一点,但我没有谈到其他类型的关系。对于有许多,我使用:
public class ReferenceConvention : IReferenceConvention{
public void Apply(IManyToOneInstance inst
我有桌上活动
| EVENT_ID | OTHER |
----------------------------
| | |
| | |
| | |
以及包含事件表外键的表EventCategories:
| TABLE_ID | EVENT_ID |
----------------------------
|
我正在使用FluentNHibernate,在配置阶段,我遇到以下错误:
以下是配置:
公共静态ISessionFactory CreateSessionFactory()
{
返回
流利地。配置()数据库(
MsSqlConfiguration.MsSql2000.ConnectionString(
c=>c.FromConnectionString WithKey(“HighOnColdingConnectionString”))
.映射(m=>
m、 FluentMappings.AddF
我能够从Fluent Nhibernate生成并导出模式创建脚本。
有时,我只想在模式创建之后修改一些字段或向表中添加新字段,而不删除所有表。
我现在要做的是生成第一个模式脚本,然后在开发过程中手动向db添加或修改字段
可以使用ALTER TABLE而不是CREATE TABLE生成Fluent Nhibernate模式导出语句
当然可以
new SchemaUpdate(config).Execute(true, true);
创建一个操作并将其传递给SchemaUpdate方法
stri
我正在尝试使用Fluent NHibernate的此功能:
但当我试图说:
HasMany(x => x.Details)
.Inverse()
.Cascade.All()
.LazyLoad(Laziness.NoProxy);
没有一个名为LazyLoad的方法接受参数
我的dll告诉我我正在使用Fluent Nhibernate的1.1.0.685版。请注意,我是NHibernate的新手,非常感谢您的帮助。谢谢哎呀,我不好。你把它放在关系的另一端(多对
我想尝试FluentNHibernate.Mapping.Builders命名空间中名为CompositeElementBuilder的类,但在设置对FluentNHibernate程序集的引用后,我无法获取此命名空间。是否有包含FluentNHibernate.Mapping.Builders命名空间的单独程序集
谢谢
马修不,它应该在那个集合中。我只是浏览了一下对象浏览器,看到了它。
还记得您的:使用FluentNHibernate.Mapping.Builders
编辑:
我使用的是1.1
我正在努力让FluentNHibernate启动并运行
当我尝试将实体对象添加到db时,我在内部异常中得到“无效对象名'Recipe'错误,这是主异常
无法插入:[OurRecipes.Domain.Recipe][SQL:插入到配方(EnteredByID、ModifiedOn、Method、PrepTime、CookTime、RecipeTle)值(?,,,,,,,?,,,,?);选择作用域标识()
这就是我配置它的方式
public static ISessionFactory Creat
我如何绘制此地图:
public class Customer
{
private IList<Order> _orders;
public IEnumerable<Order>
GetAllOrders()
{
return _orders;
}
}
私有字段在简单属性映射中工作正常,但在集合映射中工作正常
这完全不同。有什么想法吗?谢谢最简单的解决方案是将集合公开为公共属性Orders,而不是GetAllOrde
有没有办法在Fluent NHibernate中为主键约束创建命名约定
我知道您可以命名外键约束,但似乎无法命名主键约束。FNH的James Gregory说
不,NHibernate不支持这一点,所以我们也不能支持
我的问题是流畅的nhibernate映射多对多关系,它们最终引用了一个不存在的Id
public UserMap()
{
Id(x => x.Id);
Map(x => x.Name);
Map(x => x.Password);
Map(x => x.Confirmed);
HasMany(x => x.Nodes).Cascade.SaveUpdate();
我使用这种方法设置带有structuremap的fnh,但是在一个请求之后,我得到了以下异常
会议结束了!
对象名称:“ISession”
描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源
异常详细信息:System.ObjectDisposedException:会话已关闭!
对象名称:“ISession”
我的存储库类如下所示:
public class Repository : IRepository {
private r
我在数据库中有一对一的关系,我似乎对这种关系的流畅的nhibernate映射有问题
当我尝试插入一个新的TableA实体时,我收到以下错误:“无法解析属性:TableA”。在存储库的这一行抛出错误:int id=(int)\u session.Save(item)
存储库代码:
public T Save(T item)
{
try
{
_session.BeginTransaction();
int id = (int)_session.Save
配置FluentNhibernate后,如何读取由Fluent NHibernate API生成的映射Xml文件?
Configuration config = new Configuration();
config.Configure();
PersistenceModel persistenceModel = new PersistenceModel ();
persistenceModel.Configure (config);
你可以用
persistenceModel.WriteMa
我正在尝试运行使用FluentNHibernate映射我的
实体
我得到未知实体类错误
我有一个域项目,它将我的实体和映射放在一个单独的位置
该项目中的文件夹
我的测试项目在App.Config中有Nhibrenate配置
有什么想法吗
马尔科姆
编辑:我有一个创建ISessionFactory的方法,但我认为这段代码不起作用,这就是为什么它根本不识别存在的映射。SessionFacoryCreator是包含我的AppConfig的程序集,Recipe是包含域对象的程序集。请见鬼去吧
publi
我在获取FluentNHibernate的映射时遇到了一个问题,因为它有许多映射要像我所期望的那样工作
我有一个类层次结构,Child是父类的后代,使用每个层次结构的表定义,通过名为“TYPE”的列中的类名进行区分。不相关的类组包含子元素的集合
因此,组类定义为:
public class Group
{
public virtual IList<Child> Children {get; protected set;}
public Group()
{
您好,我是fluent nhibernate的新手:
使用web.config配置db连接时出错
错误为“使用了无效或不完整的配置…”
Web.config:
<connectionStrings>
<add name="Connection1" providerName="System.Data.SqlClient"
connectionString="Server=local;Database=aDataBase;User ID=aUs
我有一个基类和两个child(a:Base和B:Base),我想将它们映射到两个表(表a和表B)。这在流利的NHibernate中是可能的吗?因此,我:
public class Base
{
public virtual int Id {get;set;}
public virtual int IndexIn {get;set;}
public virtual Product Product {get;set;}
}
public class A : Base
{
我有一个共享关系列的数据库。这是压缩表结构
Order
----------
OrderId int IDENTITY
OrderLine
----------
OrderId int NOT NULL
OrderLine int NOT NULL
OrderNote
----------
NoteId uniqueidentifier NOT NULL
OrderId int NOT NULL
OrderLineId int NULL
OrderNote表基本上在Order和OrderL
我正在用Fluent Nhibernate为班级编写映射:
public class UniqueFeaturesSet : IEntity
{
public UniqueFeaturesSet(List<List<double>> mfcc)
{
MFCC = mfcc;
}
public virtual List<List<double>> MFC
我在1.9.1中创建了一个自定义模块,该模块按照正常协议通过迁移文件将多个表插入数据库。我发现,Orchard错误地过早地将[…在我看来]模块声明为“已启用”:IFeatureEventHandler>Enabled,因为当这被触发时,迁移会话甚至还没有完成[也就是说,提交尚未发生,并且您的表将不在数据库中,即使Orchard的版本控制系统/已启用等会给出相反的说明。]
因此,任何依赖于此类表的后续代码都将明显抛出错误
是否有人有一种万无一失的方法来确保迁移成功运行并确实提交到数据库中[即在Au
我得到这个错误:
表dbo.AccountGroup中的关联引用了一个未映射的类:System.String
这是我的实体:
public class AccountGroup
{
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
public virtual string Parent { get; set; }
public virtual
是否可以在S#arp架构框架中使用NHibernate XML映射文件而不是Fluent NHibernate?是的,您可以。查看(注释的映射元素和相关注释)我必须注释掉以下几行:文件Global.asax.cs中InitializeNHibernateSession()中的new AutoPersistenceModelGenerator().Generate()
嗨,我很好奇DDD是如何使用Fluent Nhibernate真正实现的。例如,我有一个名为User的实体类和另一个名为UserProfile的类,就Im而言,UserProfile不是实体类而是值类型,如果没有与用户实体关联,则不应该真正具有这样的标识。现在,为了实际实现,理想情况下,用户配置文件将存储在一个名为UserProfile的数据库表中,我看不出我如何才能摆脱这个表的唯一Id。我还将FluentNhibernate用作ORM,我认为UserProfile类需要有一个Id才能正确映射。
FluentNHibernate使用哪个实体作为实体
我在域(或BLL)中创建了一些实体,例如:
public class Role
{
public long ID { get; protected set; }
public string Name { get; set; }
public string Description { get; set; }
public List<User> Users { get; set; }
publ
这是基于遗留系统的
我有以下表格:
CREATE TABLE a
id int
CREATE TABLE b
a_id int,
c_id int
relationshipid int -- must be IN (1, 2, 3)
CREATE TABLE c
id int
我想要以下领域模型
public class A
{
public int Id { get; set; }
public C entityc { get ; set; }
}
pub
我刚刚在一个新项目中得到一项任务,该项目是使用MVP Fluent实现的
Office有一些子对象以及许多其他值类型属性
对Office及其子对象所做的更改当前以这种方式保存:如果对Office的子对象进行了更改,则将独立于Office对象进行保存。保存对象时,只有值特性被保存为其子对象,并且已单独保存
理想情况下,它应该将对象另存为:如果发现其中任何一个对象脏了,则保存Office及其子对象
我应该使用什么方法进行上述更改,以便根据对象状态是否脏,将对象作为一个整体与其子对象一起保存
此外,网
所以我有一个nhibernate icriteria查询,它可以得到我想要的结果列表
但是,我不知道如何获得总行数
public IEnumerable<SpecialismCombo> List(SpecialismListCriteria criteria, out int total)
{
//run the sub query
ICriteria countAgencies = m_SpecialismCombo
这是我第一次尝试Fluent NHibernate和自动映射。不幸的是,我遇到了一个我无法克服的问题。我得到一个错误,说我的一个类上的方法无法映射
public class Person
{
public IEnumerable<string> GetStuff(){return stuff;}
}
公共类人物
{
public IEnumerable GetStuff(){return stuff;}
}
例外消息是:
The entity '<GetStuff&
我是一个新手,拥有流利的NHibernate,有一个问题可能没有被正确地问到,所以请容忍我
对于使用Fluent NHibernate在web应用程序中管理NHibernate会话的最佳方法,我有点困惑
我读过这篇文章,但不确定我是否需要将此方法应用于我的web应用程序,或者它是否已经在Fluent NHibernate中得到了处理
有人能帮忙吗?Fluent所做的只是简化映射和配置的创建,从而简化会话工厂。无论您是否使用Fluent,您在会话管理上阅读的任何内容都同样适用。实际上,您/任何人都
我基本上有3个表:Items、Tags和TagsToItems
每个项目都可以有许多由TagsToItems表定义的标记。如何使用Fluent NHibernate正确设置此映射
我一直在玩有很多,但还没有完全弄清楚如何使用桥牌桌
HasMany(x => x.Tags).Table("TagsToItems").KeyColumn("ItemId");
我最近解决此问题的尝试如下所示:
HasManyToMany(x => x.Tags)
.AsB
我有以下几张表
用户-主列-Id和其他详细列
部门主列-Id和其他详细列
UserDepartment-主列-Id和其他列是UserId和DepartmentId
我想找到部门-(1和2)中的所有用户。
我还想找到部门-(1或2)中的所有用户
有谁能告诉我获取部门(1和2)中所有用户的标准吗?获取部门中所有用户的另一个标准-(1或2)
我是FluentNHibernate的新手,所以我没有尝试过任何东西,因为我在谷歌搜索中没有发现任何相关内容?在谷歌搜索的帮助下,我能够为1-1关系编写标准,
1 2 3 4 5 6 ...
下一页 最后一页 共 9 页