ASP.NET Identity中的UserId字符串比较

时间:2015-11-03 14:14:58

标签: asp.net asp.net-mvc-5 asp.net-identity

我在MVC 5中使用ASP.NET身份,并想知道在执行字符串比较的最佳方式,例如,对使用userId作为外键输入记录的表的查询。

通常情况下,我只会对==进行丰富,但我不确定如何创建.NET标识内的userId字符串。 我猜它实际上是引导下的GUID,所以我认为==会好的,但我想知道文化或案例是否会进入它。

有人知道该字符串是==类型比较的唯一GUID,还是我应该使用string.Equals和一些StringComparison选项来说明文化?

2 个答案:

答案 0 :(得分:0)

ASP.NET Identity可以将GUID用于密钥。在这种情况下,GUID不应具有任何特定于文化的字符。因此StringComparision. InvariantCultureIgnoreCase应该在C#中使用string.EqualsToLowerToUpper)可用于SQL查询(LINQ)。

答案 1 :(得分:0)

你可能想在这里使用Ordinal / OrdinalIgnoreCase StringComparisons,因为它逐字符地比较字符串而不考虑语言约定。

在此处阅读更多内容:https://msdn.microsoft.com/en-us/library/cc165449.aspx

在这里:https://msdn.microsoft.com/en-us/library/system.stringcomparison(v=vs.110).aspx

代码示例:

string1.Equals(string2, StringComparison.Ordinal);
string1.Equals(string2, StringComparison.OrdinalIgnoreCase);