标签: fluent-nhibernate

Cascade.SaveOrUpdate(SQLite)fluent-nhibernate

我在两个班级之间有多对多的关系:比赛和球员

我在映射中设置了Cascade.SaveUpdate,但是在保存锦标赛实例时,玩家将不会保存到玩家表中.Nhibernate只在链接表中写入父键和子键列.DB是SQLite.

这些是映射

 public TournamentMap()
    {
        WithTable("Tournaments");
        Id(x => x.Name);
        Map(x => x.Start).Access.AsLowerCaseField();
        Map(x => x.End).Access.AsLowerCaseField();

        HasManyToMany<Player>(x => x.Players)
            .WithTableName("TournamentsPlayers")
            .WithParentKeyColumn("tournamentName")
            .WithChildKeyColumn("playerName").AsSet()
            .Access.AsLowerCaseField()
            .Cascade.SaveUpdate().LazyLoad();

        References(x => x.Type).Access.AsLowerCaseField()
            .TheColumnNameIs("typeName")
            .Cascade.SaveUpdate();
    }

  public class PlayerMap : ClassMap<Player>
{
    public PlayerMap()
    {
        WithTable("Players");
        Id(x => x.Name);

        HasManyToMany<Player>(x => x.Tournaments)
            .Access.AsLowerCaseField()
            .WithTableName("TournamentsPlayers")
            .WithParentKeyColumn("playerName")
            .WithChildKeyColumn("tournamentName").AsSet()
            .Cascade.SaveUpdate().IsInverse().LazyLoad();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# nhibernate nhibernate-mapping fluent-nhibernate

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

流利的nhibernate - 在一个表中存储和检索三个类

Noob问题.

我有这种情况,我有这些对象:

class Address
{      
   string Street;
   string City;
   ...
}

class User
{
   string UserID;
   Address BillingAddress;
   Address MailingAddress;
   ...
}
Run Code Online (Sandbox Code Playgroud)

使用(流畅的)nHibernate存储这些数据的正确方法是什么?我可以使用一个单独的地址表并创建一个引用,但它们是1:1的关系,所以我真的不想招致连接的开销.理想情况下,我会将其存储为单个平面记录.

所以,我的问题是,以这样一种方式存储"用户"类实例的正确方法是什么,它将其内容以及两个地址存储为单个记录?我的知识让我失去了如何以两种地址记录获得不同列名(例如BillingAddress_Street和MailingAddress_Street)的方式存储此信息,以及如何将记录读回用户实例.

c# fluent-nhibernate

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

从File - New Project设置Fluent NHibernate的指南

我正在尝试创建一个新项目,我想使用NHibernate(特别是Fluent NHibernate).

学习新技术的最大问题就是设置它,我遇到了很多困难.我开始看这个(http://dotnetslackers.com/articles/ado_net/Your-very-first-NHibernate-application-Part-1.aspx#download-fluent-nhibernate),但它似乎已经过时,因为我也看了这个(http://wiki.fluentnhibernate.org/Getting_started#Installation),他们有不同的二进制文件.

还有其他一些指南,但大多数人都认为你的项目已经有了NHiberate,而且它只是设置Fluent NHibernate的指南.

任何简单的指南都可以帮助您进行设置,从一开始就使用File - New Project?

我不知道它是否有所作为,但我使用的是.NET 4.0和MVC.

.net c# nhibernate fluent-nhibernate

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

NHibernate映射哪些标识可以使用?

在选择与NHibernate一起使用的身份生成器时,我应该考虑什么?

例如简单流畅的映射:

Id(c => c.ID).GeneratedBy.HiLo("User");
Map(c => c.Username).Not.Nullable().Length(50);
Map(x => x.Password).Not.Nullable().Length(40);
Run Code Online (Sandbox Code Playgroud)

有了这个POCO:

public class User
{
    public virtual long ID { get; private set; } // This could be changed to GUID etc
    public virtual string Username { get; set; }
    public virtual string Password { get; set; }

    public User ()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

这应该使用HiLo,uuid.hex,HiLoseq等......为什么?

nhibernate fluent-nhibernate

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

Fluent NHibernate映射使用HasMany Component创建聚簇索引

我有一个Fluent NHibernate映射覆盖,我用它来创建一个HasMany组件.有没有办法让NH在组件表中的FK列上创建聚簇索引?在下面的示例中,我想要ItemDetailFk列上的聚簇索引.谢谢!

public class ItemDetailMap : IAutoMappingOverride<ItemDetail>
{
    public void Override(AutoMapping<ItemDetail> mapping)
    {
        mapping.HasMany<ItemDetailUDF>(x => x.UserDefinedFields)
            .Table("ItemUDF")
            .KeyColumn("ItemDetailFk")
            .Not.LazyLoad()
            .Fetch.Subselect()
            .Component(udfObj =>
            {
                udfObj.Map(x => x.UDFSequence);
                udfObj.Map(x => x.String0);
                udfObj.Map(x => x.String1);
                udfObj.Map(x => x.String2);

            });
    }
}
Run Code Online (Sandbox Code Playgroud)

nhibernate fluent-nhibernate

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

Nhibernate Criterias内连接子查询

我试图在Nhibernate ICriteria中复制以下sql

    SELECT DISTINCT AP.ID
FROM ActivityParts AP
    INNER JOIN ActivityBookings AB ON AB.ActivityPartID = AP.ID
    INNER JOIN OrderPartBookings OPB ON OPB.ActivityBookingID = AB.ID
    INNER JOIN OrderParts OP ON OP.ID = OPB.OrderPartID
    INNER JOIN Orders O ON O.ID = OP.OrderID
    LEFT JOIN Invoices I ON I.ID = (SELECT TOP 1 ID FROM Invoices WHERE OrderReferenceID = OP.ID AND Cancelled = 0 ORDER BY Created DESC)
WHERE
    O.OrderStatus != 'Cancelled'
    AND OP.Payed = 0
    AND (I.ID IS NOT NULL AND DATEADD(Day,1, …
Run Code Online (Sandbox Code Playgroud)

sql subquery icriteria fluent-nhibernate nhibernate-criteria

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

简单的sql问题

我有桌子

  • 产品(ID, CategoryID, ...)
  • 类别(ID, Name, ..)和
  • FieldValue(ID, ProductID, Value...)

这是我的查询:

select count(*) from Product as p, FieldValue as v, Category c
where c.ID = 3 and v.Value="XXX"
and p.ID = v.ProductID and c.ID=p.CategoryID
group by p.ID
Run Code Online (Sandbox Code Playgroud)

我的意图很明显是按一定标准计算产品数量.

问题是NHibernate给我一个数字列表,而不是一个带有产品数量的数字.我错过了什么?

任何帮助是极大的赞赏.

sql nhibernate fluent-nhibernate

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

Hibernate:删除子节点未引用的父节点

当没有引用父项的子项时,我需要删除父项.这可能在Hibernate中吗?(实际上我正在使用流利的nhibernate,但我认为答案是一样的)

例如,我有很多来自不同公司的客户.当我删除公司的最后一个客户时,我想自动删除公司的详细信息.

与正常的亲子关系不同,我不会有意识地选择删除公司.就用户而言,他只是删除了一个客户; 删除未引用的公司只是其中的副产品.

nhibernate orm hibernate fluent-nhibernate

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

没有System.Generic.List持久化的持久化持久性

我将使用以下方法在数据库中插入对象列表:

public static void InsertObjekts(List<Objekt> objekts)
{
     var session = SessionManager.CurrentSession;
     using (var transaction = session.BeginTransaction())
     {
          session.SaveOrUpdate(objekts);
          transaction.Commit();
     }
}
Run Code Online (Sandbox Code Playgroud)

但是我遇到了麻烦。no persister for System.Generic.List; 当我遍历列表以自己插入每个元素时,它只会在第一次迭代中进行,因为那时我没有会话。有人可以给我一些有关此主题的提示。

c# nhibernate fluent-nhibernate persist

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

Dictionary <Entity,int>的流畅NHibernate映射

在我的域名中,我有一个Transport可以Endpoints在某些位置访问的内容,因此我有以下内容:

public class Transport
{
    public IDictionary<Endpoint, int> AccessPointPosition { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在我试图AccessPointPosition通过组合HasMany和映射AsMap,但我没有成功找到任何通过Fluent NHibernate配置的东西.

我忽略了什么吗?这不可能吗?有关于这个主题的文件吗?

c# nhibernate dictionary fluent-nhibernate

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