EditableObject LINQ
От: iGrog Финляндия  
Дата: 08.12.10 14:17
Оценка:
Приветствую.

Парочка вопросов насчет EditableObject

    [TableName("goods")]
    [InheritanceMapping(Code = (int)EntityEnum.Books, Type = typeof(Book))]
    [InheritanceMapping(Code = (int)EntityEnum.Video, Type = typeof(Video))]
    public abstract class Good : EditableObject<Good>
    {
        [Identity, PrimaryKey]
        [MapField("gid")]
        public abstract int GID { get; set; }

        [MapField(MapName = "entity_id", IsInheritanceDiscriminator=true)]
        public abstract EntityEnum EntityID { get; set; }

        [MapField("title_ru")]
        public abstract String TitleRu { get; set; }
    }

    [TableName("books")]
    public abstract class Book : Good
    {
        [MapField("book_pages")]
        [Nullable]
        public abstract int? Pages { get; set; }
    }

    [TableName("video")]
    public abstract class Video : Good
    {
        [MapField("video_year")]
        public abstract int YearOfVideo { get; set; }
    }


1. Наследуемся от Good, то как создать объект нужного типо далее в коде?
На такое:
    var video = Video.CreateInstance();
    video.YearOfVideo = 2010;


Получаем ошибку:
'EntityModel.Good' does not contain a definition for 'YearOfVideo' and no extension method 'YearOfVideo' 
accepting a first argument of type 'EntityModel.Good' could be found (are you missing a using directive or an assembly reference?)


Вопрос. Как создавать объекты правильно? Что бы все было доступно?

2. Как этот объект вставить в базу?

   // Хотелось бы как-то так...
   db.Goods.Insert(video);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.