Предположим, у меня есть следующие 2 таблицы SQL:
Foo
Column DataType
---------------------------
Title NVARCHAR(20)
Body NVARCHAR(MAX)
FooTypeId TINYINT
FooType
Column DataType
--------------------------
FooTypeId TINYINT
Name NVARCHAR(10)
Теперь я использую Entity Framework 4.0 с пользовательским контекстом данных и реализацией POCO.
Как мне сопоставить это с конструктором и моими POCO?
Нужно ли создавать свойство POCO (типа байт, который я предполагаю) называется "FooTypeId", затем я выставляю ДРУГОЕ свойство моего типа перечисления?
Т.е.
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
}
На данный момент у меня даже нет FooType таблица моего дизайнера, как я понял, я могу попытаться "выразить" это как перечисление из фактического FooTypeId в свойстве Foo.Или я должен создать «Навигационное свойство» на картографическом устройстве, а затем определить это в моем POCO?
Я читал темы из нескольких лет назад (EF1), говоря: «Перечисления не поддерживаются в EF»это все еще в EF4?Если да, то, что я делаю правильно?
Я немного растерялся, некоторые рекомендации будут с благодарностью!