新しいプロジェクトでは、GenerateOperations
、GeneratePocos
、およびGenerateCommon
all = trueのPetaPoco T4テンプレートを使い始めました。Petapoco - T4テンプレート拡張pocoオブジェクト
しかし、私は生成されたpocoオブジェクトをカスタマイズしたいと思います。生成されたクラスを変更すると、スキーマを変更するたびに削除されます。生成されたpocoオブジェクトを拡張する最良の方法は何ですか?
Schotime氏によると、このソリューションは部分的なクラスを使用している可能性がありますが、その作業を行うには苦労しています。 ここに私のコード構造があります。
はDatabase.csファイル(T4テンプレートによって自動生成)
namespace PetaPocoNISEntities
{
public partial class PetaPocoNISEntities : Database
{
[TableName("GivenQuestion")]
[PrimaryKey("Id")]
[ExplicitColumns]
public partial class GivenQuestion : PetaPocoNISEntities.Record<GivenQuestion>
{
[Column]
public int Id
{
....
}
}
}
}
にので、私は、次の部分的なクラスを作成しました。
namespace PetaPocoNISEntities
{
public partial class PetaPocoNISEntities : Database
{
public partial class GivenQuestion : PetaPocoNISEntities.Record<GivenQuestion>
[ResultColumn]
public QuestionRepository QuestionRepository { get; set; }
[ResultColumn]
public List<GivenAnswer> GivenAnswers { get; set; }
}
}
私は同じ名前空間を使用しています。
しかし、クラスを使用しようとすると、次のコードはgiven(GivenQuestion)がQuestinoRepositoryメソッドを含んでいないと不平を言いますか?
var givenAnswers = results.Where(gq => gq.QuestionRepository .QuestionCode.Trim().ToUpper() == _formData.Trim().ToUpper());