Załóżmy, że mam następujące 2 tabele SQL:Jak wyświetlić tabelę odnośników do wyliczenia?
Foo
Column DataType
---------------------------
Title NVARCHAR(20)
Body NVARCHAR(MAX)
FooTypeId TINYINT
FooType
Column DataType
--------------------------
FooTypeId TINYINT
Name NVARCHAR(10)
Teraz, im przy użyciu Entity Framework 4.0 z kontekstu niestandardowych danych i realizacji POCO .
Jak to zmapować na projektanta i moje POCO?
Czy muszę utworzyć właściwość POCO (typu bajt i zakładam) o nazwie "FooTypeId", a następnie wyświetlić ANOTHER właściwość mojego typu wyliczenia?
Tzn.
public class Foo
{
public byte FooTypeId { get; set; } // for ORM - do i need this??
public FooType FooType // for most querying operations
{
get
{
return (FooType)this.FooTypeId;
}
set
{
this.FooTypeId = (int)value;
}
}
}
public enum FooType
{
Blah = 1,
Foo = 2,
Bar = 3
}
W tej chwili nawet nie mają FooType tabeli na moim projektanta, jak pomyślałem może spróbować „express” to jako wyliczenie od rzeczywistego FooTypeId na nieruchomości Foo. Czy powinienem stworzyć "Navigational Property" w programie odwzorowującym, a następnie zdefiniować to w moim POCO?
Czytałem wątki z kilku lat wstecz (EF1), mówiąc "Emisje nie są obsługiwane w EF", czy tak jest w przypadku EF4? Jeśli tak, to co robię dobrze?
Jestem trochę zagubiony, pewne wskazówki będą mile widziane!
Użyłem T4, aby to zrobić. http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx –