3
我是一个完整的初学者,我遇到了一个可能是我自己的错误的问题。AutoMap.AssemblyOf映射整个命名空间
我有一个包含3个类的名称空间。实体,实体版本和属性。类之间没有涉及继承。
我试图只映射实体类,但是会发生的是名称空间中的所有类都被映射。我在这里做错了什么?
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>();
}
}
}
嗨达林,谢谢你的回答。也许我错过了在第一行中传递的实体类型的整个点: AddAssembly表示/用于什么? :) m.AutoMappings.Add(AutoMap.AssemblyOf ).Where(t => t.Namespace ==“Modules.Business.Entities”)) –
2009-10-20 19:23:53
它表示映射组件中定义的所有类型,其中实体类型被定义(希望它是有道理的)。 – 2009-10-20 19:52:10
这并不意味着映射实体类型。 – 2009-10-20 19:52:41