私は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
エラーが発生しています。今、私はいくつかの質問があります:
- Nhibernateのxmlマッピングファイルでモデルクラスで使用できるすべてのプロパティを記述する必要がありますか?
- のデータベースに1列がない場合は、パスワードを確認してください。
助けていただければ幸いです。
"3層アーキテクチャ"を見てください。 ViewModelをエンティティとして使用するのは良い方法ではありません。名前はすでにそれを示しています。ビューのためのものであり、データの永続性のものではありません。小さなヒントとして:FluentNhibernateを使ってエンティティをマッピングすることができます。 .hbmファイルよりも扱いがはるかに簡単です。 – Rabban
これはいい提案です、私の別の仕事のために私を助けました。ありがとうございました。 @ラブバン –