EF6 Добавить ObjectSet на основе существующего ObjectSet - PullRequest
0 голосов
/ 15 января 2020

У меня есть EF6 ObjectContext, содержащий ларги sh количество наборов объектов.

В частности, один EntityObject имеет более ста свойств, включая несколько больших текстовых полей.

У меня есть несколько форм работать с разными частями данных.

Вместо того, чтобы загружать все определение объекта, есть ли способ определить «новый» объект EntityObject, содержащий первичный ключ, метку времени и полдюжины текстовых полей, так что из базы данных извлекаются только эти поля?

Я спрашиваю об этом, потому что у меня уже есть шаблон привязки, проверки и обновления, уже созданный для этого, и я ' Я бы предпочел не строить второй, чтобы go рядом с ним.

1 Ответ

0 голосов
/ 17 января 2020

Я не уверен, что это то, что вам нужно, надеюсь, это поможет

1- Определите новый класс со свойствами, которые вы хотите сохранить

2 - напишите свой sql / linq запрос, чтобы получить поля, которые вы хотите из вашей базы данных ..

Скажите, что ваша таблица с более чем 100 свойствами - это USERS таблица, теперь определите другой класс

class TEMP_USERS{
    int U_ROWID {get;set;}
    string U_NAME {get;set;}
}

ваш запрос:

var query = "SELECT U_ROWID, U_NAME FROM USERS"

затем сохраните его в определенном классе следующим образом:

var db = new yourDbContext();
var data = db.Database.SqlQuery<TEMP_USERS>(query).ToList();

Примечание: выбранный запрос типов и имен должен совпадать с определенным классом для того, чтобы это работало.

после того, как вы это сделаете, установите соответствующие привязки данных, но вам нужно будет вручную обработать проверку данных и другие вещи

...