标签: fluent-nhibernate

FluentNHibernate HasMany没有填充集合

我与以下配置有一对多的关系

 HasMany(x => x.Staff)  
       .Inverse()  
       .Cascade.All();  
Run Code Online (Sandbox Code Playgroud)

但我得到一个集合未能初始化错误.

我不必在这里指定外键,我找到的例子不是????

怎么知道哪个是外键?

编辑:仔细观察异常sql尝试使用字段Staff_id当我说它是StaffID?

马尔科姆

fluent-nhibernate

0
推荐指数
1
解决办法
808
查看次数

NHibernate域对象跨越多个表

假设我有这个域对象......

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)
  • CommonID​​属性映射到所有表的"ID"列.
  • Table1Value属性映射到表"Table1"中的"Value"列
  • Table2Value属性映射到表"Table2"中的"Value"列
  • Table3Value属性映射到表"Table3"中的"值"列

使用FluentNHibernate,如何为这个对象设置一个真正没有中心表的地图?

fluent-nhibernate

0
推荐指数
1
解决办法
1264
查看次数

让流畅的NHibernate构建数据库表

我正在使用ASP.NET MVC2,Fluent NHibernate,StructureMap和PostgreSQL构建应用程序.当谈到Fluent NHibernate时,我是一个全新的人.我从几个不同的来源获得了一个设置但是当我构建并运行我的应用程序时,它不会在我的连接字符串中为数据库创建数据库表.我有几个不同文件的代码,所以我不知道我需要发布哪个代码,如果我应该发布所有它.如果有一个要检查的密钥请告诉我或让我知道发布所有代码.谢谢!

structuremap postgresql asp.net-mvc fluent-nhibernate

0
推荐指数
1
解决办法
3663
查看次数

流畅的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 fluent-nhibernate

0
推荐指数
1
解决办法
4010
查看次数

一次在NHibernate中保存多个子实体

我在NHibernate中收到"保存未保存的瞬态实体"错误.我有一个聚合根,neighborhood包含addressesperson,这里有一些快速的伪代码来解释这种关系:

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)

nhibernate fluent-nhibernate s#arp-architecture

0
推荐指数
1
解决办法
1531
查看次数

使用Many To Many集合保存额外信息

我正在尝试为以下问题构建映射.案例可以有多个客户端,客户端可以附加到多个案例.

我有这些映射:案例

 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与案例相关.如何添加列以便我可以编写属性?

c# nhibernate fluent-nhibernate

0
推荐指数
1
解决办法
95
查看次数

在运行时设置NHibernate数据库

想象一下,我有一个网站,这个提供服务.要访问此服务,我需要输入登录名/密码.我想根据登录设置使用数据库.示例:

  • login1将使用database1
  • login23将使用database23

是否可以在运行时设置数据库以与Nhibernate一起使用?

谢谢,

database nhibernate asp.net-mvc orm fluent-nhibernate

0
推荐指数
1
解决办法
542
查看次数

Fluent NHibernate - 如何使用GeneratedBy.Native()指定Id的序列名称

我使用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

0
推荐指数
1
解决办法
3428
查看次数

Linq Nhibernate离开了加入

盗窃有动作属性

这是我试图让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)

linq nhibernate fluent-nhibernate linq-to-nhibernate

0
推荐指数
1
解决办法
8911
查看次数

Fluent Nhibernate如何忽略现有表中的映射列

是否可以将模型中的类映射到具有比模型类更多列的表?我只想使用表映射表的特定列Fluent Nhibernate.例如,表格包含以下列:

ProductId
ProductName
BatchNumber
StoreId
Run Code Online (Sandbox Code Playgroud)

但在模型类中我只想要:ProductId, ProductName. 是否有可能不包括BatchNumberStoreId模型类?

c# nhibernate fluent-nhibernate

0
推荐指数
1
解决办法
559
查看次数