【问题标题】:C# fluent nhibernateC# 流畅的休眠
【发布时间】:2011-06-23 03:26:09
【问题描述】:

下面的映射配置应该如何解决?

public abstract class RepositoryEntity
{
    public virtual int Id { get; set; }
}

public class Descriptor : RepositoryEntity
{
    public virtual String Name { get; set; }
    public virtual DateTime Timestamp { get; set; }
}

public class Proxy<TDescriptor> : RepositoryEntity
{
    public virtual TDescriptor Descriptor { get; set; }
    public virtual Byte[] SerializedValue { get; set; }
};

public class TestUnit : Proxy<Descriptor>
{

};

我在测试 TestUnit 映射时遇到问题 - 它说无法使用通用参数映射项目。如果我尝试映射之前指定的每个类,就会发生这种情况。

如果我尝试映射除Proxy&lt;T&gt; 之外的所有内容,那么我会收到no persister for the 'TestUnit'

如果我停止从Proxy&lt;Descriptor&gt; 继承TestUnit,映射测试工作正常


Fluent NHibernate 是否有可能自动映射从某些具体的Class&lt;T&gt; 模板继承的类型?你能帮我映射这些实体吗?

【问题讨论】:

    标签: fluent-nhibernate mapping


    【解决方案1】:

    我使用了 Fluent 和 Auto 映射的组合。

    Fluent 映射应该用于泛型。

            Configuration = Fluently.Configure()
                .Database(SQLiteConfiguration.Standard.ShowSql().InMemory)
                .Mappings(x =>
                          {
                              x.FluentMappings.AddFromAssemblyOf<RepositoryEntity>();
                              x.AutoMappings.Add(autoPersistenceModel);
                          });
    

    【讨论】:

      猜你喜欢
      • 2011-11-15
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多