MVC 3 with filehelper
-
25-10-2019 - |
質問
filehelper 2.9.9を使用します http://teamcity.codebetter.com/project.html?projectid=project41 データをCSV形式にエクスポートします。
FieldNotinFile]を使用して、エクスポートしたくないフィールドを無視します。
また、データベースが変更されたときにモデルの編集を避けるためにメタデータタイプを使用しています
これが私のコードです:
public partial class book
{
public long id { get; set; }
public string book { get; set; }
public virtual author author { get; set; }
}
[MetadataType(typeof(bookMetadata))]
[DelimitedRecord(",")]
public partial class book
{
}
public class bookMetadata
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[FieldNotInFile] //It don't work at all
public long id;
[DisplayName("Book")]
public string book { get; set; }
public author author;
[FieldNotInFile] //It don't work at all
private author _author;
public author author
{
get { return _author; }
set { _author = value; }
}
}
ここでの私の問題は、メタデータに[fieldnotinfile]属性を適用した場合、まったく機能しません。
データベースによって生成され、属性を適用するモデルのフィールドをカプセル化すると、完全に機能します。ただし、データベースが変更されるたびに、手作業でマージする必要があります。
どんな助けも感謝しています
少し早いですがお礼を
解決
これはおそらくの制限です FileHelper
(おそらく、リフレクションを使用してシリアル化されたクラスで属性を見つけるだけで、メタデータバディクラスを認識していません)。
モデルクラスを作成してみて、AutomApperを使用してデータをコピーして、モデルクラスに属性を適用します。生成されたコードの編集は、エラーが発生しやすいことです。
所属していません StackOverflow