我与以下配置有一对多的关系
HasMany(x => x.Staff)
.Inverse()
.Cascade.All();
Run Code Online (Sandbox Code Playgroud)
但我得到一个集合未能初始化错误.
我不必在这里指定外键,我找到的例子不是????
怎么知道哪个是外键?
编辑:仔细观察异常sql尝试使用字段Staff_id当我说它是StaffID?
马尔科姆
假设我有这个域对象......
public class SpansMultipleTables
{
public int CommonID {get; set;}
public string Table1Value {get; set;}
public int Table2Value {get; set;}
public float Table3Value {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
使用FluentNHibernate,如何为这个对象设置一个真正没有中心表的地图?
我正在使用ASP.NET MVC2,Fluent NHibernate,StructureMap和PostgreSQL构建应用程序.当谈到Fluent NHibernate时,我是一个全新的人.我从几个不同的来源获得了一个设置但是当我构建并运行我的应用程序时,它不会在我的连接字符串中为数据库创建数据库表.我有几个不同文件的代码,所以我不知道我需要发布哪个代码,如果我应该发布所有它.如果有一个要检查的密钥请告诉我或让我知道发布所有代码.谢谢!
我使用Fluent得到以下错误:
12:16:47879 ERROR [7]的配置[(空)] - 从表地址的关联是指未映射的类:System.Int32 NHibernate.MappingException:从表地址的关联是指未映射的类:System.Int32
public class Address {
public Address() {
}
public virtual int AddressId {
get;
set;
}
public virtual string AddressLine1 {
get;
set;
}
public virtual string AddressLine2 {
get;
set;
}
public virtual string AddressLine3 {
get;
set;
}
public virtual string BuildingNumber {
get;
set;
}
public virtual string City {
get;
set;
}
public virtual string County {
get;
set;
}
public virtual System.DateTime MovedIn {
get;
set;
}
public …Run Code Online (Sandbox Code Playgroud) 我在NHibernate中收到"保存未保存的瞬态实体"错误.我有一个聚合根,neighborhood包含addresses和person,这里有一些快速的伪代码来解释这种关系:
public class Neighborhood {
public virtual int Id { get; set; }
public virtual IList<Address> Addresses { get; set; }
}
public class Address {
public virtual int Id { get; set; }
public virtual string Address { get; set; }
public virtual Person Person { get; set; } //Assume only one person per address
}
public class Person {
public virtual int Id { get; set; }
public virtual string Name { …Run Code Online (Sandbox Code Playgroud) 我正在尝试为以下问题构建映射.案例可以有多个客户端,客户端可以附加到多个案例.
我有这些映射:案例
Map(x => x.CaseNumber);
References(x => x.Status).Cascade.All();
HasManyToMany<Client>(x => x.Clients)
.Table("CaseToClient")
.Access.CamelCaseField(Prefix.Underscore)
.Cascade.SaveUpdate()
.LazyLoad();
Run Code Online (Sandbox Code Playgroud)
现在我的CaseToClient表由Case_Id和Client_Id组成我想要的是表中的另一列,其中客户端的boolen与案例相关.如何添加列以便我可以编写属性?
想象一下,我有一个网站,这个提供服务.要访问此服务,我需要输入登录名/密码.我想根据登录设置使用数据库.示例:
是否可以在运行时设置数据库以与Nhibernate一起使用?
谢谢,
我使用Fluent NHibernate,我需要使用GeneratedBy.Native()生成Id,以支持Oracle,DB2和MSSQL数据库.如果我尝试在Oracle上运行它并在表中插入新记录,我会得到:
Could not execute query: select hibernate_sequence.nextval from dual
System.Data.OracleClient.OracleException (0x80131938): ORA-02289: sequence does not exist
Run Code Online (Sandbox Code Playgroud)
映射类:
public sealed class ListDataMap : ClassMap<ListData>
{
public ListDataMap()
{
Table("LIST_DEF");
Id(x => x.Id, "ID").Not.Nullable().GeneratedBy.Native();
//other mapping
}
}
Run Code Online (Sandbox Code Playgroud)
如何指定序列的名称?我不想使用hibernate_sequence因为我需要多于1个序列而且我不想拥有1个共享序列.
谢谢!
c# nhibernate-mapping fluent-nhibernate fluent-nhibernate-mapping
盗窃有动作属性
这是我试图让NHibernate.Linq生成的查询:
SELECT * FROM `thefts`
LEFT JOIN memberThefts
ON thefts.id = memberThefts.theftId AND memberThefts.memberId = 1
Run Code Online (Sandbox Code Playgroud)
我想获取所有盗窃的列表,其中action.memberId ==某个数字或者如果它没有找到一行则只是null,简单的查询但它一整天给我一个噩梦!
thefts = session.Query<Theft>()
.Fetch(x => x.action)
.Where(x => x.action.memberId == member.id)
.ToList();
Run Code Online (Sandbox Code Playgroud)
这将执行以下SQL:
select theft0_.id as id9_0_,
memberthef1_.memberId as memberId7_1_,
theft0_.name as name9_0_,
theft0_.chance as chance9_0_,
memberthef1_.theftId as theftId7_1_,
memberthef1_.availableTime as availabl3_7_1_
from thefts theft0_
left outer join memberThefts memberthef1_
on theft0_.id = memberthef1_.theftId,
memberThefts memberthef2_
where theft0_.id = memberthef2_.theftId
and memberthef2_.memberId =1 /* ?p0 */
Run Code Online (Sandbox Code Playgroud)
盗窃类:
public class …Run Code Online (Sandbox Code Playgroud) 是否可以将模型中的类映射到具有比模型类更多列的表?我只想使用表映射表的特定列Fluent Nhibernate.例如,表格包含以下列:
ProductId
ProductName
BatchNumber
StoreId
Run Code Online (Sandbox Code Playgroud)
但在模型类中我只想要:ProductId, ProductName. 是否有可能不包括BatchNumber和StoreId模型类?