Я использую Entity Framework 6.1.3.Entity Framework возвращает 0 элементов
Когда я пытаюсь получить значения из таблицы базы данных, он возвращает мне 0 элементов, но в базе данных - 9 строк.
И Entity FrameWork вызывает метод OnModelCreating.
Я искал весь интернет, но ничего не нашел, как исправить это.
Мой DbContext класс
namespace TestTask.Models
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class Entities : DbContext
{
public Entities()
: base("MenuItemsContainer")
{ }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Properties()
.Where(p => p.Name == "Id")
.Configure(p => p.IsKey());
}
public virtual DbSet<DataMenuItemSet> DataMenuItemSet { get; set; }
public virtual DbSet<ItemsSet> ItemsSet { get; set; }
}
}
Мой DataMenuItemSet класс
using System.ComponentModel.DataAnnotations;
namespace TestTask.Models
{
using System;
using System.Collections.Generic;
public partial class DataMenuItemSet
{
public DataMenuItemSet()
{
this.ItemsSet = new HashSet<ItemsSet>();
}
[Key]
public int Id { get; set; }
public bool IsRoot { get; set; }
public string Name { get; set; }
public Nullable<int> Parent { get; set; }
public virtual ICollection<ItemsSet> ItemsSet { get; set; }
}
}
Все это создается с Entity Framework.
Мне нужно получить значения из базы данных.
Обновлено
I`ve решить эту проблему.
Дело в том, что у меня есть два проекта в моем решении. Сначала это сайт, который имеет модель из базы данных, а во-вторых, это просто ConsoleApplication, где я пытался проверить данные базы данных. Когда я пытаюсь подключиться к db через dbcontext из другого приложения, он не работает, как описано выше. Чтобы он работал, я передал строку подключения из приложения веб-сайта, в которой есть модель edmx и dbcontext, в приложение, где я тестировал это соединение и данные.
Вот как это работает
Желтый - ConsoleApplication Red - веб-сайт с моделью и DbContext
Вот модель и Web.config я переведен строка подключения из Web.config в App.cofig из ConsoleApplication и модель.
ConsoleApplication с перетекает модели и строки подключения.
И все-таки это работает для меня.
Спасибо за помощь !!!
context.TableName.toList() –
Какие параметры вы использовали при первоначальном создании контекста? Например. сначала пустым кодом, сначала моделью от дизайнера и т. д. Можете ли вы разместить строку соединения? –
Я создал модель из базы данных. Строка подключения: 'metadata = res: //*/Models.DataMenuItems.csdl | res: //*/Models.DataMenuItems.ssdl | res: //*/Models.DataMenuItems.msl; поставщик = System.Data.SqlClient , строка подключения поставщика = " источник данных = (LocalDB) \ v11.0; встроенная защита = True; MultipleActiveResultSets = True; App = EntityFramework " "providerName =" System.Data.EntityClient ' –