C# 最佳方法SQL Server计算列与代码内方法
我目前有一个连接到SQL Server 2012的CRUD ASP.NET MVC应用程序。最后,应用程序将数据导出到表单。表单上的一个字段称为C# 最佳方法SQL Server计算列与代码内方法,c#,sql,sql-server,linq,linq-to-sql,C#,Sql,Sql Server,Linq,Linq To Sql,我目前有一个连接到SQL Server 2012的CRUD ASP.NET MVC应用程序。最后,应用程序将数据导出到表单。表单上的一个字段称为表单编号,我希望它是M-“主键” 最好在C代码中添加M-,还是使用计算列作为最佳方法?(添加另一列M-'PK') 如果还有其他(更好的)选择,请告诉我 一个例子: private DataSet selectID(string studentId) { SqlConnection conn =
表单编号
,我希望它是M-“主键”
最好在C代码中添加M-
,还是使用计算列作为最佳方法?(添加另一列M-'PK'
)
如果还有其他(更好的)选择,请告诉我
一个例子:
private DataSet selectID(string studentId)
{
SqlConnection conn = "connecttoserverstring";
SqlCommand cmd = new SqlCommand("select 'M-' + cast(ID as varchar(10)) from table, conn);
SqlParameter p = new SqlParameter("@id", studentId);
}
主键:1123
表格输出
Form Number: M-1123
参见C中的示例:
private DataSet selectID(string studentId)
{
SqlConnection conn = "connecttoserverstring";
SqlCommand cmd = new SqlCommand("select 'M-' + cast(ID as varchar(10)) from table, conn);
SqlParameter p = new SqlParameter("@id", studentId);
}
即使id是int,我们也将其转换为varchar
,这样我们就可以将它与'M-'或任何你想要的东西连接起来
输出的简单示例为:
-在SQL Server中运行此操作
select 'M-' + cast(1 as varchar(10));
一个计算过的列会起作用吗?这个数字是如何生成的?我假设你的pk是一个int值,加上一个'M-'将使它成为一个字符串值,所以标识就消失了!我建议创建一个新的coll,并在应用程序代码中更好地处理它。那么,您希望M前缀存储在DB中还是仅显示给用户?很高兴提供帮助:)!给我来一杯!kkk