<asp:RadioButton ID="submitter" runat="server" GroupName="rd2" OnCheckedChanged="submitter_CheckedChanged" Text="Submitter" AutoPostBack="true" />
<asp:RadioButton ID="following" runat="server" ForeColor="Black" Text="Following" GroupName="rd2" OnCheckedChanged="following_CheckedChanged" AutoPostBack="true" />
这是使用EF为表public partial class Employee
{
public int Emp_Id { get; set; }
public string Emp_Name { get; set; }
public string Emp_City { get; set; }
public Nullable<int> Emp_Age { get; set; }
}
生成的类。我希望Employee
在应用程序中更改为Emp_Name
而不更改表结构。但是使用下面的更改使用数据注释EmpName
获取异常
“实体类型Employee不是当前模型的一部分 上下文中,“
System.InvalidOperationException。
如何解决这个问题
dbEntity.Set<Employee>().ToList();
答案 0 :(得分:0)
您无需更改列的名称。您可以轻松使用[Display]
或[DisplayName]
属性,如下所示:
首先将using System.ComponentModel.DataAnnotations;
添加到您的using指令中:
[Display(Name = "EmpName")]
public string Emp_Name { get; set; }
或者:
[DisplayName("EmpName")]
public string Emp_Name { get; set; }
答案 1 :(得分:0)
意思是:
实体类型
Employee
不是当前模型的一部分 上下文。
例外情况是dbcontext
不知道您需要Employee
dbContext
类型
public class MyDbContext : DbContext
{
public DbSet<Employee> Employees {get; set;}
}
MyDbContext
是您的dbContext
课程,您需要定义dbset
类型employee
,以覆盖OnModelCreating
DbContext
方法您的context
如下所示:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Employee>().ToTable("Employee");
}
如果您要更改名称以用于显示目的,则可以使用Display
中提到的DisplayName
或 private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
if (dataGridView1.CurrentRow != null && dataGridView1.CurrentRow.Index > -1)
{
string value1 = dataGridView1.CurrentRow.Cells[0].Value != null ? dataGridView1.CurrentRow.Cells[0].Value.ToString() : "";
textBox1.Text = value1;
string value2 = dataGridView1.CurrentRow.Cells[1].Value != null ? dataGridView1.CurrentRow.Cells[1].Value.ToString() : "";
textBox2.Text = value2;
.
.
.
}
}
作为S.Akbari。
答案 2 :(得分:0)
您似乎正在使用Database First方法。执行以下操作以更改属性名称而不更改列名称:
.edmx
文件即可显示表格。 right click the column name > Rename
它将保留此名称,如果您更新EDMX,它仍会保留它。但是,如果删除EDMX并重新生成它,则需要再次重命名。