C#无法编译映射文档

马克·拉斯穆森

我有以下设置:

我的项目

现在,我的文件如下所示:

AGENTER_LISTE.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestNhibernate
{
    public class AGENTER_LISTE
    {
        public virtual int ID { get; set; }
        public virtual String INITIALER { get; set; }
        public virtual String FORNAVN { get; set; }
        public virtual String EFTERNAVN { get; set; }

    }
}

AGENTER_LISTE.hbm.xml:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="TestNhibernate" namespace="TestNhibernate">
  <class name="TestNhibernate.AGENTER_LISTE">
    <id name="ID" column="ID">
      <generator class="identity" />
    </id>
    <property name="INITIALER" />
    <property name="FORNAVN" />
    <property name="Efternavn" />
  </class>
</hibernate-mapping>

App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>
  </configSections>
  <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory>
      <property name="connection.provider">
        NHibernate.Connection.DriverConnectionProvider
      </property>
      <property name="dialect">
        NHibernate.Dialect.Oracle10gDialect
      </property>
      <property name="connection.driver_class">
        NHibernate.Driver.OracleClientDriver
      </property>
      <property name="connection.connection_string">
        Data Source=CTIR;Persist Security Info=True;User ID=*****;Password=*****;
      </property>
      <property name="show_sql">
        true
      </property>
      <property name="hbm2ddl.keywords">none</property>
      <mapping assembly="TestNhibernate" />
    </session-factory>
  </hibernate-configuration>
</configuration>

Form1.cs:

namespace TestNhibernate
{

    public partial class Form1 : Form
    {
        private Configuration myConfig;
        private ISessionFactory mySessionFactory;
        private ISession mySession;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            myConfig = new Configuration();
            myConfig.Configure(); //<--- My program breaks here
            mySessionFactory = myConfig.BuildSessionFactory();
            mySession = mySessionFactory.OpenSession();

            using (mySession.BeginTransaction())
            {
                AGENTER_LISTE agent = new AGENTER_LISTE {FORNAVN = "Marc", INITIALER = "MRCR212", ID = 999, EFTERNAVN = "Rasmussen" };
                mySession.Save(agent);
                mySession.Transaction.Commit();
            }
        }
    }
}

有了这个我得到以下错误:

Could not compile the mapping document: TestNhibernate.AGENTER_LISTE.hbm.xml

伴随以下详细错误:

NHibernate.MappingException was unhandled
  Message=Could not compile the mapping document: TestNhibernate.AGENTER_LISTE.hbm.xml
  Source=NHibernate
  StackTrace:
       at NHibernate.Cfg.Configuration.LogAndThrow(Exception exception) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 342
       at NHibernate.Cfg.Configuration.AddDeserializedMapping(HbmMapping mappingDocument, String documentFileName) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 530
       at NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 499
       at NHibernate.Cfg.Configuration.ProcessMappingsQueue() in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 1865
       at NHibernate.Cfg.Configuration.AddDocumentThroughQueue(NamedXmlDocument document) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 1856
       at NHibernate.Cfg.Configuration.AddXmlReader(XmlReader hbmReader, String name) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 1849
       at NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream, String name) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 638
       at NHibernate.Cfg.Configuration.AddResource(String path, Assembly assembly) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 676
       at NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 769
       at NHibernate.Cfg.Configuration.AddAssembly(String assemblyName) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 752
       at NHibernate.Cfg.Configuration.DoConfigure(ISessionFactoryConfiguration factoryConfiguration) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 1574
       at NHibernate.Cfg.Configuration.Configure() in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 1433
       at TestNhibernate.Form1.Form1_Load(Object sender, EventArgs e) in \\nkm18427\prv-mrcr\visual studio 2010\Projects\TestNhibernate\TestNhibernate\Form1.cs:line 29
       at System.Windows.Forms.Form.OnLoad(EventArgs e)
       at System.Windows.Forms.Form.OnCreateControl()
       at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at System.Windows.Forms.Control.CreateControl()
       at System.Windows.Forms.Control.WmShowWindow(Message& m)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       at System.Windows.Forms.Form.WmShowWindow(Message& m)
       at System.Windows.Forms.Form.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
       at System.Windows.Forms.Control.SetVisibleCore(Boolean value)
       at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
       at System.Windows.Forms.Control.set_Visible(Boolean value)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.Run(Form mainForm)
       at TestNhibernate.Program.Main() in \\nkm18427\prv-mrcr\visual studio 2010\Projects\TestNhibernate\TestNhibernate\Program.cs:line 18
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: NHibernate.MappingException
       Message=Problem trying to set property type by reflection
       Source=NHibernate
       StackTrace:
            at NHibernate.Mapping.SimpleValue.SetTypeUsingReflection(String className, String propertyName, String accesorName) in p:\nhibernate-core\src\NHibernate\Mapping\SimpleValue.cs:line 359
            at NHibernate.Cfg.XmlHbmBinding.PropertiesBinder.CreateProperty(IEntityPropertyMapping propertyMapping, String propertyOwnerClassName, IValue value, IDictionary`2 inheritedMetas) in p:\nhibernate-core\src\NHibernate\Cfg\XmlHbmBinding\PropertiesBinder.cs:line 399
            at NHibernate.Cfg.XmlHbmBinding.PropertiesBinder.Bind(IEnumerable`1 properties, Table table, IDictionary`2 inheritedMetas, Action`1 modifier, Action`1 addToModelAction) in p:\nhibernate-core\src\NHibernate\Cfg\XmlHbmBinding\PropertiesBinder.cs:line 92
            at NHibernate.Cfg.XmlHbmBinding.PropertiesBinder.Bind(IEnumerable`1 properties, IDictionary`2 inheritedMetas, Action`1 modifier) in p:\nhibernate-core\src\NHibernate\Cfg\XmlHbmBinding\PropertiesBinder.cs:line 52
            at NHibernate.Cfg.XmlHbmBinding.PropertiesBinder.Bind(IEnumerable`1 properties, IDictionary`2 inheritedMetas) in p:\nhibernate-core\src\NHibernate\Cfg\XmlHbmBinding\PropertiesBinder.cs:line 47
            at NHibernate.Cfg.XmlHbmBinding.RootClassBinder.Bind(HbmClass classSchema, IDictionary`2 inheritedMetas) in p:\nhibernate-core\src\NHibernate\Cfg\XmlHbmBinding\RootClassBinder.cs:line 59
            at NHibernate.Cfg.XmlHbmBinding.MappingRootBinder.AddRootClasses(HbmClass rootClass, IDictionary`2 inheritedMetas) in p:\nhibernate-core\src\NHibernate\Cfg\XmlHbmBinding\MappingRootBinder.cs:line 83
            at NHibernate.Cfg.XmlHbmBinding.MappingRootBinder.AddEntitiesMappings(HbmMapping mappingSchema, IDictionary`2 inheritedMetas) in p:\nhibernate-core\src\NHibernate\Cfg\XmlHbmBinding\MappingRootBinder.cs:line 42
            at NHibernate.Cfg.XmlHbmBinding.MappingRootBinder.Bind(HbmMapping mappingSchema) in p:\nhibernate-core\src\NHibernate\Cfg\XmlHbmBinding\MappingRootBinder.cs:line 29
            at NHibernate.Cfg.Configuration.AddDeserializedMapping(HbmMapping mappingDocument, String documentFileName) in p:\nhibernate-core\src\NHibernate\Cfg\Configuration.cs:line 522
       InnerException: NHibernate.MappingException
            Message=class TestNhibernate.AGENTER_LISTE, TestNhibernate, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null not found while looking for property: Efternavn
            Source=NHibernate
            StackTrace:
                 at NHibernate.Util.ReflectHelper.ReflectedPropertyClass(String className, String name, String accessorName) in p:\nhibernate-core\src\NHibernate\Util\ReflectHelper.cs:line 169
                 at NHibernate.Mapping.SimpleValue.SetTypeUsingReflection(String className, String propertyName, String accesorName) in p:\nhibernate-core\src\NHibernate\Mapping\SimpleValue.cs:line 355
            InnerException: NHibernate.PropertyNotFoundException
                 Message=Could not find a getter for property 'Efternavn' in class 'TestNhibernate.AGENTER_LISTE'
                 Source=NHibernate
                 AccessorType=getter
                 PropertyName=Efternavn
                 StackTrace:
                      at NHibernate.Properties.BasicPropertyAccessor.GetGetter(Type type, String propertyName) in p:\nhibernate-core\src\NHibernate\Properties\BasicPropertyAccessor.cs:line 35
                      at NHibernate.Util.ReflectHelper.GetGetter(Type theClass, String propertyName, String propertyAccessorName) in p:\nhibernate-core\src\NHibernate\Util\ReflectHelper.cs:line 112
                      at NHibernate.Util.ReflectHelper.ReflectedPropertyClass(String className, String name, String accessorName) in p:\nhibernate-core\src\NHibernate\Util\ReflectHelper.cs:line 165
                 InnerException: 
Onur Gumus

错误是在您的异常内指出的:Message =在类'TestNhibernate.AGENTER_LISTE'中找不到属性'Efternavn'的吸气剂

这是不区分大小写的问题。您的物业EFTERNAVN为大写字母,但您的映射为小写字母Efternawn

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

FluentNHibernate异常-无法编译映射文档

来自分类Dev

NHibernate无法使用MySql编译映射文档

来自分类Dev

Castle.ActiveRecord-无法编译映射文档:(字符串)

来自分类Dev

Castle.ActiveRecord-无法编译映射文档:(字符串)

来自分类Dev

Unity 无法编译 C#

来自分类Dev

NHibernate无法编译映射文件

来自分类Dev

无法编译映射文件:NHibernate

来自分类Dev

无法编译映射文件 nhibernate

来自分类Dev

llvm文档示例无法编译

来自分类Dev

无法将SQL查询响应映射到C#变量

来自分类Dev

无法在mongodb C#中检索子文档项

来自分类Dev

无法在mongodb C#中检索子文档项

来自分类Dev

无法在 C# 和 iTextSharp 中启用 pdf 文档 LTV

来自分类Dev

从C ++程序编译LaTeX文档

来自分类Dev

在C#中使用`dynamic`关键字无法编译

来自分类Dev

无法获取C#默认接口方法进行编译

来自分类Dev

在C#中使用`dynamic`关键字无法编译

来自分类Dev

无法编译来自不同项目 C# 的文件

来自分类Dev

如何使用C#映射反序列化XML文档

来自分类Dev

隐式映射使Char方法无法编译

来自分类Dev

Hibernate:无法映射映射文档,因为它们已在

来自分类Dev

C:为Windows编译时无法将Unicode盲文写入UTF-8文档

来自分类Dev

在c#上如何保存所有单词的文档打开?(无法从c#打开)

来自分类Dev

C ++ Netbeans无法编译

来自分类Dev

无法编译C ++函数

来自分类Dev

无法编译C程序

来自分类Dev

C ++程序无法编译

来自分类Dev

无法编译 C 库

来自分类Dev

在C ++中创建编译时键值映射