【问题标题】:C# object uniqueC# 对象唯一
【发布时间】:2013-07-26 17:26:19
【问题描述】:
在我的 asp.net 网络应用程序中,我使用对象将信息添加到数据库中,类似这样
Employee emp1 = new Employee()
emp1.name = "something"
emp1.age = some age
InsertEmployee(emp)
此代码运行良好。但是,如果多个用户尝试插入员工数据,那么数据就会混淆。
然后用户打电话说:“我输入的年龄与显示的员工 XXX 的年龄不同。
如何解决这个问题?使对象独一无二的好方法是什么?
谢谢....
【问题讨论】:
标签:
c#
asp.net
sql-server
object
uniqueidentifier
【解决方案1】:
您可以使用 Guid 类型使对象唯一。 emp1.Guid = Guid.NewGuid();
【解决方案2】:
这里有几个不同的想法:
Primary key 在数据库中。在这种情况下,您可以使用整数值作为 ID,这是一种使用 SQL Server 的一些内置功能以相对干净的方式对所有员工进行排序的方法。
GUIDs. 在这种情况下,您需要为每个员工分配一个新的 GUID,并将其作为每个员工的唯一值。这可以在数据库中完成,但如果您愿意,也可以在 C# 代码中完成。
【解决方案3】:
User then calls up and says , "The age I entered is different from what it is showing for employee XXX.
您如何更新用户结果?
How to fix this ? Whats the good method to make the object unique ?.
您需要在数据库中添加主键。并针对该主键执行所有数据库操作。你可以阅读 SQL Keys here .Example
update yourTable
SET
YourColumnName = YourValue
Where
tableId = Idofthisemployee