Nhibernate 从dll中定义hbm

Nhibernate 从dll中定义hbm,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,我需要实时生成hbm int。因此,我需要从dll中定义hbm文件。和dll必须包含对此xml文件的引用。 如果这在NHibernate中是可能的话?? 或者可能是对属性的引用。 谢谢当然可以。NHibernate几乎可以在任何地方加载hbms: public class Configuration { public Configuration AddAssembly(Assembly assembly); public Configuration AddAssembly(str

我需要实时生成hbm int。因此,我需要从dll中定义hbm文件。和dll必须包含对此xml文件的引用。 如果这在NHibernate中是可能的话?? 或者可能是对属性的引用。
谢谢

当然可以。NHibernate几乎可以在任何地方加载hbms:

public class Configuration
{
    public Configuration AddAssembly(Assembly assembly);
    public Configuration AddAssembly(string assemblyName);
    public Configuration AddClass(Type persistentClass);
    public void AddDeserializedMapping(HbmMapping mappingDocument,
                                       string documentFileName);
    public Configuration AddDirectory(DirectoryInfo dir);
    public Configuration AddDocument(XmlDocument doc);
    public Configuration AddDocument(XmlDocument doc, string name);
    public Configuration AddFile(FileInfo xmlFile);
    public Configuration AddFile(string xmlFile);
    public Configuration AddInputStream(Stream xmlInputStream);
    public Configuration AddInputStream(Stream xmlInputStream, string name);
    public Configuration AddResource(string path, Assembly assembly);
    public Configuration AddResources(IEnumerable<string> paths,
                                      Assembly assembly);
    public Configuration AddUrl(string url);
    public Configuration AddUrl(Uri url);
    public Configuration AddXml(string xml);
    public Configuration AddXml(string xml, string name);
    public Configuration AddXmlFile(string xmlFile);
    public Configuration AddXmlReader(XmlReader hbmReader);
    public Configuration AddXmlReader(XmlReader hbmReader, string name);
    public Configuration AddXmlString(string xml);
}
公共类配置
{
公共配置AddAssembly(Assembly-Assembly);
公共配置AddAssembly(字符串assemblyName);
公共配置AddClass(persistentClass类型);
public void AddDeserializedMapping(HbmMapping映射文档,
字符串(文件名);
公共配置AddDirectory(DirectoryInfo dir);
公共配置添加文档(XmlDocument文档);
公共配置AddDocument(XmlDocument doc,字符串名);
公共配置AddFile(FileInfo xmlFile);
公共配置AddFile(字符串xmlFile);
公共配置AddInputStream(流xmlInputStream);
公共配置AddInputStream(流xmlInputStream,字符串名称);
公共配置AddResource(字符串路径、程序集);
公共配置AddResources(IEnumerable路径,
装配);
公共配置AddUrl(字符串url);
公共配置AddUrl(Uri url);
公共配置AddXml(字符串xml);
公共配置AddXml(字符串xml,字符串名称);
公共配置AddXmlFile(字符串xmlFile);
公共配置AddXmlReader(XmlReader hbmReader);
公共配置AddXmlReader(XmlReader hbmReader,字符串名);
公共配置AddXmlString(字符串xml);
}

也许你应该转而研究Fluent Nhibernate@jishi如果他需要“实时”生成hbm,Fluent绝对不是一个选项。同意,但我发现这是一个奇怪的请求,所以我猜他可能表达得不好。