نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
اگر از بایندینگ سورس استفاده می کنید میتونید از متدهای AddNew و RemoveCurrent و ... برای درج و حذف استفاده کنید.
مثال:
مدل
    public class Person
{
[Key]
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
[NotMapped]
public string FullName
{
get { return FirstName + " " + LastName; }
}

[Required]
public decimal Amount { get; set; }
}

class DatabaseContext :DbContext
{
public DbSet<Person> Persons { get; set; }
}

یک فرم شامل دیتاگرید، دکمه های افزودن، حذف سطرجاری، لغو تغییرات و ذخیره تغییرات، چهار تکست باکس شامل تکست باکس id(که readonly هست) نام و نام خانوادگی و مقدارپاداش.
کد فرم
    public partial class Main : Form
{
private DatabaseContext _context;
private BindingSource _bindingSource;

public Main()
{
InitializeComponent();

_context = new DatabaseContext();

_context.Persons.Load();

_bindingSource = new BindingSource
{
DataSource = _context.Persons.Local.ToBindingList()
};
dataGridView1.DataSource = _bindingSource;
DataGridViewColumn firstnameColumn = dataGridView1.Columns["FirstName"];
if (firstnameColumn != null) firstnameColumn.Visible = false;
DataGridViewColumn lastnameColumn = dataGridView1.Columns["LastName"];
if (lastnameColumn != null) lastnameColumn.Visible = false;

txtId.DataBindings.Add("Text", _bindingSource, "Id");
txtFirstName.DataBindings.Add("Text", _bindingSource, "FirstName");
txtLastName.DataBindings.Add("Text", _bindingSource, "LastName");
txtBonus.DataBindings.Add("Text", _bindingSource, "Amount");
}

private void btnAddNew_Click(object sender, EventArgs e)
{
_bindingSource.AddNew();
}

private void btnRemove_Click(object sender, EventArgs e)
{
_bindingSource.RemoveCurrent();
}

private void btnCancel_Click(object sender, EventArgs e)
{
foreach (var entry in _context.ChangeTracker.Entries<Person>())
{
entry.State = entry.State == EntityState.Added ? EntityState.Detached : EntityState.Unchanged;
}

_bindingSource.ResetBindings(false);
}

private void btnSave_Click(object sender, EventArgs e)
{
_context.SaveChanges();
}
}
عرض ادب و احترام خدمت جناب افراد ، جناب افراد برام سوالی پیش اومده در این زمینه که بنده با Code First کار میکنم ولی روش ثبت اطلاعاتم و اصلا در کل تغییرات روی اطلاعاتم با کدی که الان شما لطف کردید نوشتید فرق میکنه میخواستم بدونم این کد شما همون روش DataBinding هست که شما توی EF بکار بردینش یا اینکه این کد شامل Code First نمیشه ( منظورم اینه که این کد برای Model First یا Database First هست) . پیشاپیش از پاسخگوییتون سپاسگذارم .