Tworzenie nowego obiektu w linqu

Odpowiedz Nowy wątek
Smutny Ogórek
2017-12-19 14:03
Smutny Ogórek
0

Zakładając, że mam w bazie encję o nazwie Ksiazka, która zawiera Id, Tytuł, Autora. Tworzę Model w aplikacji o nazwie KsiazkaModel, która zawiera takie same pola. Jeśli po przez linqu chcę stworzyć obiekt KsiazkaModel na podstawie tej encji z bazy, ale baz id to do pola id wpisuje się 0. Można jakoś tego uniknać aby pole Id nie było wtedy bindowane do modelu KsiazkaModel?

using (var context = new BazaEntities())
{
var books = context.Book.Where(item => item.Id == id).Select(item => new BookModel
    {
        Title = item.Title,
        Author = item.Author
    }).ToArray();
    return Json(books, JsonRequestBehavior.AllowGet);
}

Pozostało 580 znaków

2017-12-19 15:09

Rejestracja: 4 lata temu

Ostatnio: 1 dzień temu

1

No ale przeciez nie jest bindowane. W tym przypadku Id ma wartosc 0 bo to domyslna wartosc dla int. Poczytaj podstawy bo niepotrzebnie chcesz przeskoczyc pare rozdzialow.

Pozostało 580 znaków

2017-12-20 14:08

Rejestracja: 2 lata temu

Ostatnio: 1 rok temu

0

Po prostu tworzysz sobie klasę np. Book, która zawiera tylko dwie właściwości: Title i Author i w select zamiast BookModel tworzysz obiekt Book i problem rozwiązany.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0