Jest to swego rodzaju rozszerzenie odpowiedzi @dimonser, jeśli zregenerujesz model bazy danych, będziesz musiał ręcznie ponownie dodać interfejsy do tych klas.
Jeśli masz do tego żołądek, możesz również zmodyfikować swoje .tt
szablony:
Oto przykład automatycznego generowania interfejsów w niektórych klasach, jest to fragment z metody .tt
zastąpienia EntityClassOpening
metody w twojej następującą (i oczywiście var stringsToMatch
z nazwami jednostek i interfejsami).
public string EntityClassOpening(EntityType entity)
{
var stringsToMatch = new Dictionary<string,string> { { "Answer", "IJourneyAnswer" }, { "Fee", "ILegalFee" } };
return string.Format(
CultureInfo.InvariantCulture,
"{0} {1}partial class {2}{3}{4}",
Accessibility.ForType(entity),
_code.SpaceAfter(_code.AbstractOption(entity)),
_code.Escape(entity),
_code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType)),
stringsToMatch.Any(o => _code.Escape(entity).Contains(o.Key)) ? " : " + stringsToMatch.Single(o => _code.Escape(entity).Contains(o.Key)).Value : string.Empty);
}
Jednak żaden normalny człowiek nie powinien sobie tego robić, zostało udowodnione w Biblii, że idzie się za to do piekła.