Entity Framework, избегайте перегрузки при изменении или добавлении свойства в базу данных - PullRequest
0 голосов
/ 24 июня 2011

Я работаю с Entity Framework. Это мой код для получения галереи из БД. Как вы видете в разделе выбора я создаю новый экземпляр галереи модели представления (VM_Gallery).

статическая защита только для чтения Func> compiledGetGallery = CompiledQuery.Compile> (

        (EFDB, IdGallery, idAccountUser) =>
            from Gallery in EFDB.galleries
            where 
            (...)
            select new VM_Gallery()
            {
                CreationDate = Gallery.creationDate,
                Description = Gallery.description,
                IdGallery = Gallery.idGallery,
                ImgCoverPhoto = Gallery.imgCoverPhoto,
                Title = Gallery.title
            });

Моя проблема в том, что когда мне нужно изменить или добавить новое свойство в объект базы данных, я должен изменить все Линк. Есть ли способ избежать этого?

Я думал что-то вроде:

статическая защита только для чтения. Func (...)

            from Gallery in EFDB.galleries
            where 
            (...)
            select Convert_Gallery_VM_Gallery (Gallery)
            );

public static VM_Gallery Convert_Gallery_VM_Gallery(Gallery gallery)
{
    VM_Gallery VM_Gal = new VM_Gallery();
    VM_Gal.CreationDate = gallery.creationDate;
    VM_Gal.Description = gallery.description;
    VM_Gal.IdGallery = gallery.idGallery;
    VM_Gal.ImgCoverPhoto = gallery.imgCoverPhoto;
    VM_Gal.Title = gallery.title;
    return VM_Gal;
}

Таким образом, если есть изменение в свойстве, мне нужно изменить только одну функцию. Но это не работает, любые идеи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...