Есть проект на C#, использующий Entity Framework Code First
public class DatabaseContext : DbContext
{
public DatabaseContext() : base("name=DatabaseContext")
{
Database.SetInitializer<DatabaseContext>(new DropCreateDatabaseIfModelChanges<DatabaseContext>());
Database.CreateIfNotExists();
}
public void Init(){}
//Множество объектов
public DbSet<Project> Projects { get; set; }
}
Как видно, EntityFramework хранит некое множество объектов Projects. В объекте Project есть поле Items, которое представляет из себя коллекцию
public class Project
{
public Project(){}
[Key]
public int Id{ get;set;}
//Коллекция
ObservableCollection<Item> items = new ObservableCollection<Item>();
public ObservableCollection<Item> Items
{
get
{
return items;
}
set
{
items = value;
}
}
}
Диаграмма базы данных, созданной Entity Framework выглядит так:
Через SQL получить строку из таблицы Item, зная Id, просто элементарно.
Select * FROM dbo.Items where Id=1
Вопрос: А как тоже самое сделать используя средства Entity Framework, не подгружая в программу все коллекции Items из проектов?
Добавьте в проект
public DbSet<Item> Items { get; set; }
Тогда вам останется только воспользоваться методом Find
:
var item = context.Items.Find(id);
Используйте LINQ.
Как вариант:
int id = 1;
var item = items.Where(t => t.Id==id).First();
Или:
int id = 1;
var item = items.First(t => t.Id==id);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Работаю с опытным образцом микроконтроллера, поэтому программами типа Flash- magic заливать не получаетсяФирма- создатель прислала кривую- косую...
ЗдравствуйтеЯ хочу узнать, как можно заархивировать множество файлов, но я имею ввиду не