本文整理汇总了C#中NHibernate.AddInputStream方法的典型用法代码示例。如果您正苦于以下问题:C# NHibernate.AddInputStream方法的具体用法?C# NHibernate.AddInputStream怎么用?C# NHibernate.AddInputStream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NHibernate
的用法示例。
在下文中一共展示了NHibernate.AddInputStream方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PostProcessMappings
protected override void PostProcessMappings(NHibernate.Cfg.Configuration config)
{
NHibernate.Mapping.Attributes.HbmSerializer.Default.Validate = true;
var serializer = new NHibernate.Mapping.Attributes.HbmSerializer();
if (EntityAssemblyNames == null || !EntityAssemblyNames.Any()) return;
foreach (var modelAssemblyName in EntityAssemblyNames)
{
try
{
var assembly = Assembly.Load(modelAssemblyName);
config.AddInputStream(serializer.Serialize(assembly));
}
catch (Exception e)
{
throw new Exception("程序集映射失败,请检查EntityAssemblyNames节点配置.", e);
}
}
}
示例2: AddedMappingFromHbmResource
private bool AddedMappingFromHbmResource(ItemDefinition definition, NHibernate.Cfg.Configuration cfg)
{
if (!TryLocatingHbmResources)
return false;
Stream hbmXmlStream = definition.ItemType.Assembly.GetManifestResourceStream(definition.ItemType.FullName + ".hbm.xml");
if (hbmXmlStream == null)
return false;
using (hbmXmlStream)
{
cfg.AddInputStream(hbmXmlStream);
return true;
}
}
示例3: MemorizeMappingAttribute
/// <summary>
/// 读入Attribute到内存
/// </summary>
/// <param name="cfg"></param>
/// <param name="assembly">要读入的AssemblyName</param>
public static void MemorizeMappingAttribute(NHibernate.Cfg.Configuration cfg, Assembly assembly)
{
if (assembly == null)
{
throw new ArgumentNullException("assembly");
}
System.IO.MemoryStream stream = new System.IO.MemoryStream();
HbmSerializer.Default.Validate = true;
HbmSerializer.Default.HbmAssembly = assembly.GetName().Name;
HbmSerializer.Default.HbmNamespace = assembly.GetTypes()[0].Namespace;
// Here, we serialize all decorated classes (but you can also do it class by class)
HbmSerializer.Default.Serialize(stream, assembly);
// System.Reflection.Assembly.GetExecutingAssembly()
stream.Position = 0; // Rewind
//using (System.IO.FileStream sw = new FileStream("c:\\test.xml", FileMode.Create))
//{
// stream.WriteTo(sw);
//}
cfg.AddInputStream(stream); // Use the stream here
stream.Dispose();
}
示例4: AddInputStreamsForAssembly
private static void AddInputStreamsForAssembly(NHibernate.Cfg.Configuration _configuration, Assembly asm)
{
Type[] types = GetTypesWithClassAttribute(asm);
foreach (Type t in types)
{
HbmSerializer.Default.HbmAssembly = asm.GetName().Name;
HbmSerializer.Default.HbmNamespace = t.Namespace;
// Use NHibernate.Mapping.Attributes to create information about our entities
HbmSerializer.Default.Validate = true; // Enable validation (optional)
System.IO.MemoryStream stream = new System.IO.MemoryStream();
Console.WriteLine(t.Name);
HbmSerializer.Default.Serialize(stream, t);
stream.Position = 0;
Console.WriteLine((new StreamReader(stream)).ReadToEnd());
Console.WriteLine();
stream.Position = 0;
//DumpHbmXmlStreamToFile(stream, Path.Combine(appPath, hbmXmlDumpFile));
//stream.Position = 0;
_configuration.AddInputStream(stream);
stream.Close();
}
}
示例5: AddMapping
/// <summary>Adds mappings to the configuration.</summary>
/// <param name="cfg">The configuration to add the mappings to.</param>
protected virtual void AddMapping(NHibernate.Cfg.Configuration cfg, string name)
{
if (!string.IsNullOrEmpty(name))
cfg.AddInputStream(GetType().Assembly.GetManifestResourceStream(name));
}