У меня есть WinForm. В этой форме я показываю данные из строки таблицы. У меня есть таблицы комментариев и пользователей:Linq-to-sql to Combobox binding (Winforms)
Комментарии: {ID (INT), Текст (NVARCHAR), UserId (интермедиат)}
Пользователи: {ID (INT), Name (NVARCHAR)}
В форме у меня есть TextBox и Combobox. В текстовом поле я не буду показывать «Текст» из комментариев (пользователь может редактировать это поле, данные должны быть сохранены в таблице) и Name from table Users (где Comments.UserId = Users.ID).
я следующий код:
FormDataClassesDataContext dc = new FormDataClassesDataContext();
_comment = (from comment in dc.Comments
where comment.ID == 1
select comment).FirstOrDefault();
_user = (from users in dc.Users
where users.ID == _comment.UserId
select users).FirstOrDefault();
textBoxComment.DataBindings.Add("Text", _comment, "Text"); // <-OK
comboBoxAssessor.DataSource = dc.Users;
comboBoxAssessor.DisplayMember = "Name";
comboBoxAssessor.ValueMember = "ID";
comboBoxAssessor.DataBindings.Add("SelectedItem", _comment, "UserId");
, а затем
dc.SubmitChanges();
, но я стал «Невозможно передать "MyApp.Forms.User" на "Int32"
Супер! Меня устраивает. –