Tworzenie nowego obiektu w linqu

Tworzenie nowego obiektu w linqu
  • Rejestracja: dni
  • Ostatnio: dni
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?

Kopiuj
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);
}
TA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 315
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.

Manuel.Artificer
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 177
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.