Для нового проекта я начал использовать шаблон PetaPoco T4 с GenerateOperations
, GeneratePocos
и GenerateCommon
all = true.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; }
}
}
Как вы можете видеть, я использовал одноименное пространство.
, но затем, когда я попытался использовать класс, следующий код жалуется, что gq (который является GivenQuestion) не содержит метода QuestinoRepository?
var givenAnswers = results.Where(gq => gq.QuestionRepository .QuestionCode.Trim().ToUpper() == _formData.Trim().ToUpper());
Любые идеи?