Я пытаюсь написать некоторую логику для получения значений сущностей из базы данных на основе значения динамической таблицы. После этого сообщения я получил меня до TEntity
Entity framework - get entity by nameРабота с отражением и сущностями
Я не следую сказанному здесь. Следующий код:
public static void PublishTable(string user, ContentFields tableToPublish)
{
var jsonData = DataAccess.GetEnvironmentJson((int)Environments.Production);
var model = JsonConvert.DeserializeObject<Models.FullDataSetModel>(jsonData);
using (var db = new LoginPageContentEntities())
{
var deployEntry = db.Deployment.Find((int)Environments.Production);
deployEntry.DateUpdated = DateTime.Now;
var pendingChangesFlag = deployEntry.GetType().GetProperty(tableToPublish.ToString());
pendingChangesFlag.SetValue(deployEntry, false);
var publishToModel = model.GetType().GetProperty(tableToPublish.ToString());
var tableValue = (IEnumerable<????>)typeof(LoginPageContentEntities).GetProperty(tableToPublish.ToString()).GetValue(db, null));
publishToModel.SetValue(model, tableValue.ToList());
var json = JsonConvert.SerializeObject(model);
deployEntry.JsonCache = json;
db.SaveChanges();
}
}
Например, если я передать объект из ProductInformation
в IEnumerable<ProductInformation>
это работает, когда я изменить что конкретного субъекта.
Выполняется в соответствии с разделом, я не следую тому, что нужно сделать, чтобы получить значения из контекста. Они определяют TEntity
, но в определении нет ничего.
TEntity - это [общий тип параметра - общие сведения] (https://msdn.microsoft.com/en-us/library/512aeb7t.aspx). Вы можете определить его после имени метода 'void PublishTable (string user ...)', а затем при вызове метода укажите конкретный тип 'PublishTable (« username », ...);'. Хороший учебник можно найти в MSDN [Введение в C# Generics] (https://msdn.microsoft.com/en-us/library/ms379564%28v=vs.80%29.aspx). –
pasty
Я посмотрел на этот учебник, но я не видел ничего, охватывающего синтаксис, чтобы искать тип сущности с помощью дженериков, но я буду продолжать его. Не знаю, как работать с общим методом с моим методом. –