من معمولا از روش زیر برای پر کردن گریدها استفاده میکنم :
به همون روشی که خودتون گفتین ستون ها رو توی گرید ایجاد میکنم و خاصیت DataPropertyName رو مقداردهی میکنم.
بعد با کد میام یه دیتاتیبل به خاصیت DataSource گرید میدم به صورت زیر :
SqlConnection Con = new SqlConnection("ConnectionString");
string CommandText = "Select * From Table";
SqlDataAdapter da = new SqlDataAdapter(CommandText, Con);
DataTable dt = new DataTable();
da.Fill(dt);
dgvList.DataSource = dt;
اینطوری درسته و هیچ مشکلی هم باهاش نداشتم!!
راستش من زیاد با این Entity کار نمیکنم و دقیق نمیدونم چطوریه!!!