none
Привязка данных при использование EF и Windows Forms RRS feed

  • Вопрос

  • Как вот такую вещь привязать к гриду на форме:

     public class User
        {
            [Key]
            public int Id { get; set; }
    
            [Required]
            public string Login { get; set; }
    
            [Required]
            public string Password { get; set; }
        }
    
        public class Db:DbContext
        {
            public DbSet<User> Users { get; set; }
        }

    Используется EF Code First.

    27 августа 2013 г. 5:12

Все ответы

  • Добрый день.

    Не очень понятен вопрос.

    На форму кинул DataGridView, написал вот такой код:

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
    
        void Form1_Load(object sender, EventArgs e)
        {
            List<User> list = new List<User>();
            list.Add(new User()
                {
                    Id = 1,
                    Login = "asdfasd",
                    Password = "etryert"
                });
            list.Add(new User()
            {
                Id = 2,
                Login = "rtyjscv",
                Password = "xcasdfs"
            });
            dataGridView1.DataSource = list;
        }
    }
    
    public class User
    {        
        public int Id { get; set; }
                 
        public string Login { get; set; }
    
        public string Password { get; set; }
    }

    Вот так это работает:

    Или вы хотите что-то другое?

     
    27 августа 2013 г. 5:41
    Отвечающий
  • У Вас просто список, а у меня DbSet<User>. В принципе из него тоже можно список сделать, но я ищу рекомендованный способ работы с ним. DbContext-это база данных.
    27 августа 2013 г. 6:02
  • Возможно, для вас это сюрприз, но DataGridView.DataSource может работать с объектами поддерживающими разные интерфейсы. Перейдите по ссылке, почитайте. Поэтому разницы между DbSet и List не будет.

    27 августа 2013 г. 9:21
    Отвечающий