gpt4 book ai didi

fluent-nhibernate - AutoMap.AssemblyOf 映射整个命名空间

转载 作者:行者123 更新时间:2023-12-01 13:07:51 26 4
gpt4 key购买 nike

我是 Fluent 的初学者,我遇到了一个问题,这可能是我自己的错。

我有一个包含 3 个类的命名空间。实体、实体版本和属性。类之间不涉及继承。

我尝试只映射 Entity 类,但实际情况是命名空间中的所有类都被映射了。我在这里做错了什么?

private static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()

.Database(
MsSqlConfiguration.MsSql2005
.ConnectionString("Data Source=MSCHOPMAN\\SQLEXPRESS;Initial Catalog=framework;Integrated Security=SSPI"))
.Mappings(m =>
{
m.AutoMappings.Add(
AutoMap.AssemblyOf<Entity>()
//.IgnoreBase<Entity>()
.Where(t => t.Namespace == "Modules.Business.Entities")
)
.ExportTo("c:\\temp");
}
)

.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
}

实体类:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;

using Modules.Data;

namespace Modules.Business.Entities
{
public class Entity
{
public virtual int Id { get; set; }
public virtual int ParentId { get; set; }
public virtual int TypeId { get; set; }
//public virtual IList<EntityVersion> Versions { get; set; }

public Entity()
{
//Versions = new List<EntityVersion>();
}
}
}

最佳答案

这一行:

.Where(t => t.Namespace == "Modules.Business.Entities")

指示 FluentNHibernate 映射 Modules.Business.Entities 命名空间内的所有对象。如果您只想映射特定类型,您可以尝试指定其名称:

.Where(t => t == typeof(Entity))

关于fluent-nhibernate - AutoMap.AssemblyOf 映射整个命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1596716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com