c# - 重命名存储过程导致 Entity Framework 代码优先

标签 c# entity-framework entity-framework-6.1

更新: 澄清一下,我不能以任何方式修改数据库本身。无法更改列名或运行代码优先迁移等。我需要一个纯粹的“客户端”解决方案

我目前有调用存储过程的代码,使用 EF 6.1 中的代码优先,如下所示:

public class LabResult
{        
    public string lr_drawn_date{ get; set; }
    public int? Patient_Code_Id { get; set; }
    public int Patient_Id { get; set; }
    public string lt_value { get; set; }
    public string lt_value_text { get; set; }
    public double lt_value_numeric { get; set; }
    public string lf_var { get; set; }
}

var idParam = new SqlParameter
     {
        ParameterName = "Patient_Code_Id",
        Value = patientId;
     };
var results = Database.SqlQuery<LabResult>("Get_Patient_Lab @Patient_Code_Id", idParam);
return results.ToList();

这行得通,但是我想更改字段的名称,例如。将 lr_drawn_date 更改为更具可读性的 DrawnDate

我尝试添加一个属性,例如

[Column("lr_drawn_date")] 
public string DrawnDate {get; set;}

但这什么都不做...相反,DrawnDate 只是空的。

知道怎么做吗?

最佳答案

如果您使用 Code First,您只需重命名您的对象属性并从程序包管理器控制台运行 Update-Database 命令。它将 Entity Framework 迁移应用于您的数据库。

关于c# - 重命名存储过程导致 Entity Framework 代码优先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26809758/

相关文章:

c# - 如何从 PropertyGrid 中删除/隐藏 'Property Pages' 按钮?

c# - IActivityLogger 不记录 PromptDialog.Choice 文本

c# - 为 Entity Framework 代码优先应用程序添加索引的正确方法是什么?

sql - 未生成 EF 6.1 索引 IsUnique

asp.net-mvc - 为 EF6 中的所有表名称添加前缀

c# - 如何在 EF 和 C# 中编写用于检索 IEnumerable 对象的类

c# - 使用 BenchmarkDotNet 比较已初始化的 .NET 列表与未初始化的列表时出现 OutOfMemoryException

nhibernate - NHibernate FetchMany 在两个以上的表上是否损坏?

c# - Entity Framework 中的动态排序

c# - 如何在 Entity Framework 迁移中获取当前连接字符串?