c#MVC 5用户存储自定义查找

时间:2015-12-09 01:52:15

标签: c# asp.net-mvc model-view-controller asp.net-mvc-5 .net-4.6

默认提供的FindByIdAsync,FindById等按预期工作。

我如何实施FindBySomeOtherField?

至少我希望能够使用UserManager.FindBy主AspNetUsers表中的任何字段。例如UserManager.FindByPhoneNumber

理想情况下,我能够使用UserManager.FindByCustomField

我不想实现全新的用户商店。

我猜最糟糕的情况我可以找到并按原样复制MVC 5的整个用户存储并将其添加到我的项目然后实现它,但是,我只是添加一个包含该功能的类因为我更喜欢用户存储,只是想扩展它的功能。

1 个答案:

答案 0 :(得分:2)

不确定我是否理解正确,但以下情况应该有效?

IEnumerable<[Object]> results = [ObjectCollection].Where(u => u.[Field] == [Value])

OR

[Object] result = [ObjectCollection].SingleOrDefault(u => u.[Field] == [Value])

如果您想要特定字段,可以将其提取到方法中;

public [Object] FindBy[Field]([FieldType] value)
{
    return [ObjectCollection].SingleOrDefault(u => u.[Field] == [Value])
}