【发布时间】:2009-08-17 21:09:31
【问题描述】:
总结:
我想用 Fluent NHibernate Automapper 保存两个同名和不同命名空间的类
上下文
我在写必须将许多不同的对象导入数据库进行测试。我最终会将映射器写入一个合适的模型。
我一直在使用 code gen 和 Fluent NHibernate 来获取这些 DTO 并将它们直接转储到 db。
异常确实表明(尝试使用 auto-import="false")
代码
public class ClassConvention : IClassConvention
{
public void Apply(IClassInstance instance)
{
instance.Table(instance.EntityType.Namespace.Replace(".", "_"));
}
}
namespace Sample.Models.Test1
{
public class Test
{
public virtual int Id { get; set; }
public virtual string Something { get; set; }
}
}
namespace Sample.Models.Test2
{
public class Test
{
public virtual int Id { get; set; }
public virtual string SomethingElse { get; set; }
}
}
这是实际的应用代码
var model = AutoMap.AssemblyOf<Service1>()
.Where(t => t.Namespace.StartsWith("Sample.Models"))
.Conventions.AddFromAssemblyOf<Service1>();
var cfg = Fluently.Configure()
.Database(
MySQLConfiguration.Standard.ConnectionString(
c => c.Is("database=test;server=localhost;user id=root;Password=;")))
.Mappings(m => m.AutoMappings.Add(model))
.BuildConfiguration();
new SchemaExport(cfg).Execute(false, true, false);
非常感谢任何帮助
更新使用 Fluent Nhibernate RC1
【问题讨论】:
-
将我的代码更新到 Fluent NHibernate RC1
标签: mysql fluent-nhibernate automapping