Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 模型和更改数据库模式_C#_Asp.net Mvc - Fatal编程技术网

C# 模型和更改数据库模式

C# 模型和更改数据库模式,c#,asp.net-mvc,C#,Asp.net Mvc,如果使用asp.net mvc 5更改模式,我是否仍可以使用实体框架访问数据库中的数据?例如,我有一个客户模型,它有一个名称和id。如果我在客户模型建模的表中添加另一列,如果我不更新模型,它会破坏我的应用程序吗 另一个问题是,我是否可以在不知道确切列名甚至模式的情况下执行查询?例如,我只有用户在网页上输入的数据库名称和要查询的表。您的第一个问题的答案是绝对肯定的,可能会破坏您的应用程序。如果使用该模型向数据库中插入数据,并且新添加的列不允许空值,则插入数据的任何位置都将中断。如果您严格使用它进行

如果使用asp.net mvc 5更改模式,我是否仍可以使用实体框架访问数据库中的数据?例如,我有一个客户模型,它有一个名称和id。如果我在客户模型建模的表中添加另一列,如果我不更新模型,它会破坏我的应用程序吗


另一个问题是,我是否可以在不知道确切列名甚至模式的情况下执行查询?例如,我只有用户在网页上输入的数据库名称和要查询的表。

您的第一个问题的答案是绝对肯定的,可能会破坏您的应用程序。如果使用该模型向数据库中插入数据,并且新添加的列不允许空值,则插入数据的任何位置都将中断。如果您严格使用它进行查询,它应该是好的


我不太明白第二个问题。如果不知道架构或列名,如何查询数据库?你会如何处理结果?也许您可以用一个示例来更新您的问题。如果您没有首先使用代码启动数据层,或者没有直接更改数据库模型,那么您将需要对其进行反向工程。详情载于


如果使用EF,这可能是将数据库同步回模型的最佳方法。否则,您需要编写自己的ADO.NET代码或使用另一个ORM框架,这可能会给您带来更大的方便

如果我只知道数据库名称和表(通过用户输入),我就可以简单地在网页上显示查询结果。这就是为什么我想知道我是否需要数据作为模型在页面上显示它,类似于Rails。那么您正在构建一个查询工具,您的用户可以使用它对您的数据库执行命令?这似乎是一个坏主意,但我不知道整个情况,所以也许你已经有了防止恶意查询的保护措施(至少我希望如此)。我已经有了保护措施(使用参数化查询从dropdownlist中选择)。谢谢你的帮助。我在这里找到了我要找的东西