2017-07-17 7 views
0

私はNHibernateとMVCについても新しいです。DB列をNHibernate XMLファイルにマップするには?

私はこのモデルのためのXMLマッピング・ファイルを作成している

public class RegisterViewModel 
{ 

    [Required] 
    [Display(Name="Full Name")] 
    public string Name { get; set; } 

    [Required] 
    [Display(Name = "Email Id")] 
    public string EailID { get; set; } 

    [Required] 
    [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)] 
    [DataType(DataType.Password)] 
    [Display(Name = "Password")] 
    public string Password { get; set; } 

    [DataType(DataType.Password)] 
    [Display(Name = "Confirm password")] 
    [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] 
    public string ConfirmPassword { get; set; } 
} 

などのプロパティが含まれているモデルクラスを持っているが、以下のようなものです。

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
        auto-import="true" assembly="EventMgnt" namespace="EventMgnt.Models"> 
    <class name="EventMgnt.Models.RegisterViewModel" table="tblUser" dynamic-update="true" > 
    <cache usage="read-write"/> 
    <id name="Id" column="Id" type="int"> 
     <generator class="native" /> 
    </id> 
    <property name="Name" /> 
    <property name="EmailID" /> 
    <property name="Password" /> 
    <property name="ConfirmPassword" /> 
    </class> 
</hibernate-mapping> 

そして、私はCould not compile the mapping documentエラーが発生しています。今、私はいくつかの質問があります:

  1. Nhibernateのxmlマッピングファイルでモデルクラスで使用できるすべてのプロパティを記述する必要がありますか?
  2. のデータベースに1列がない場合は、パスワードを確認してください。

助けていただければ幸いです。

+0

"3層アーキテクチャ"を見てください。 ViewModelをエンティティとして使用するのは良い方法ではありません。名前はすでにそれを示しています。ビューのためのものであり、データの永続性のものではありません。小さなヒントとして:FluentNhibernateを使ってエンティティをマッピングすることができます。 .hbmファイルよりも扱いがはるかに簡単です。 – Rabban

+0

これはいい提案です、私の別の仕事のために私を助けました。ありがとうございました。 @ラブバン –

答えて

2
  1. んがあなたが唯一のプロパティに一致するデータベース列を追加する必要が
  2. を必要としません。あなたはパスワードの確認プロパティを無視することができます このエラーはNHibernateマッピングアセンブリまたは名前空間に関連している可能性が最も高いです
+0

あなたの答えは何かで私のエラーを解決します。ありがとう:) –

+0

これで問題が解決した場合は、この回答を受け入れることもできます。 –

+0

@AmitJoshiこれは私のために働いた。 –

関連する問題