我有一个应用程序已完成并正常工作。 但最近到达的安全指令是每个数据库访问必须通过存储过程完成,它也适用于用户和应用程序。
此应用程序在ASP.NET MVC框架(版本4)上运行 并让ORM宣布这种方式
[Table("TableName1")]
public class TableName1
{
[Key]
public int ID { get; set; }
[MaxLength(250), Index("IX_NameCountry", 1, IsUnique = true, IsClustered = false)]
public string Name { get; set; }
...
}
public ICollection<TableName2> TableName2
{
get
{
return Database.SqlQuery<TableName2>("SELECT * FROM dbo.TableName2").ToList();
}
}
我是MVC和EF的初学者,但我发现EF6支持存储过程映射。重写应用程序最简单的方法是什么? 我非常感谢能够重新映射表映射的一个例子: - )
谢谢
答案 0 :(得分:1)
请参阅:How to call Stored Procedure in Entity Framework 6 (Code-First)?
作为一方,根据你的应用程序规模,这可能是一个巨大的事情,听起来像是某人对某事作出反应的膝跳反应。
我会巧妙地回答,解释一下,为您(以及您的团队)花费资源来审核现有的代码库会更好,因为在这些代码库中您需要强化数据库并修复任何安全漏洞。请求您的应用进行笔测试。
业务/用户可能存在风险,因为这可能会引入错误 - 想想您将不得不转换为SQL的所有LINQ表达式:)