Задать вопрос
@SomeDeveloper

Почему не получается вывести данные из бд WPF Entity?

Пытаюсь запустить приложение, но в дебаггере выскакивает ошибка, связанная с " has no key defined"
Я не понимаю, что ему не нравится, я пробовал в Role.cs добавлять [Key], но данная ошибка все равно остается.
Как исправить то, что я выше написал?
Использую Entity Framework

Ошибка
6066c3892231b066703770.jpeg

Таблица из БД
6066c39f7d493341041956.png

Role.cs
namespace MarathSkills
{
     class Role
    {        
        public char RoleId { get; set; }
        public string RoleName { get; set; }
    }
}


RoleContext.cs
using System.Data.Entity;
using System;

namespace MarathSkills
{
   class RoleContext : DbContext
    {
        public RoleContext() : base("DefaultConnection")
        {

        }
        public DbSet<Role> Roles { get; set; }
    }
}


TestD.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Data.Entity;

namespace MarathSkills
{
    /// <summary>
    /// Interaction logic for TestD.xaml
    /// </summary>
    ///

    public partial class TestD : Window
    {
        RoleContext db;
        public TestD()
        {
            InitializeComponent();
            db = new RoleContext();
            db.Roles.Load();
            phonesGrid.ItemsSource = db.Roles.Local.ToBindingList();

            this.Closing += Window_Closing;
        }

        private void phonesGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

        }

        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            db.Dispose();
        }
    }
}
  • Вопрос задан
  • 143 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Sumor
Лучше использовать в качестве id тип int.

Можно попробовать указать Key для подсказки.
[Key]
public char RoleId { get; set; }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы