从界面创建私有实现。

时间:2014-03-14 13:18:00

标签: multi-tenant

如何将ITenantConfiguration SessionFactory setter设为私有,并且仍能将其设置为Tenant类?我需要重建它才能使它工作? 我希望将ISessionFactory设置在租户创建中,而不是从外部创建。

public interface ITenantConfiguration
{
   ISessionFactory SessionFactory { get; /*make private setter here*/ set; }
}

public class Tenant : ITenant
{
    public ITenantConfiguration Configuration { get; set; }

    public Tenant(ITenantConfiguration configuration)
    {
        Configuration = configuration;

        //Configuration.SessionFactory = CreateConfig(); 
    }

    public ISessionFactory CreateConfig()
    {
        return Fluently
            .Configure()
            .Database(DatabaseConfiguration)
            .Mappings(MapAssemblies)
            .ExposeConfiguration(BuildSchema)
            .BuildSessionFactory();
    }
    //..... removed for clarity
 }

public class TenantConfiguration : ITenantConfiguration
{
    public NHibernate.ISessionFactory SessionFactory { get; /*private set;*/ set; } 
    public Dictionary<string, object> Properties { get; set; }
}

1 个答案:

答案 0 :(得分:0)

我只是把它们当作内部的,就是这样,应该想到这个......