1) Создаю новый WPF-проект в Visual Studio Community 2015 (Update 2).
2) Устанавливаю EntityFramework 6.1.3 через NuGet.
3.1) Добавляю элемент EDM, тип из базы данных
3.2) Создаю новую базу "DB", указав файл в корне проекта (где лежит App.config), устанавливаю галочку сохранить настройки подключения в App.config
3.3) включаю внешние ключи (таблиц пока нет, но всё-таки галочку ставлю)
3.4) Создаю таблицу Test с полями Id и Name, обновляю.
3.5) Добавляю пару записей данных.
3.6) В edmx обновляю модель из базы данных, сохраняю. Создастся класс Test.
3.7) В App.config автоматически настроился connectionStrings
<connectionStrings>
<add name="DBEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\DB.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
4) Создаю класс MainVm.cs (в корне проекта):
using System.Collections.ObjectModel;
namespace DbTest
{
public class MainVm
{
private static readonly DBEntities Entities = new DBEntities();
public ObservableCollection<Test> Tests { get; set; } = Entities.Test.Local;
}
}
5) Обновляю MainWindow.xaml:
<Window x:Class="DbTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:DbTest"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Window.DataContext>
<local:MainVm/>
</Window.DataContext>
<Grid>
<DataGrid ItemsSource="{Binding Tests}"/>
</Grid>
</Window>
По идее, всё. Должна показываться таблица с данными. Что я не правильно сделал или что-то забыл?
В списке ошибок пишется
No connection string named 'DBEntities' could be found in the application config file