c# MVC 5 用户存储自定义 findby

c# MVC 5 User Store custom findby

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

我将如何实施 FindBySomeOtherField?

至少我希望能够 UserManager.FindBy 主 AspNetUsers table 之外的任何字段。比如UserManager.FindBy电话号码

理想情况下,我可以 UserManager.FindByCustomField

我不想实施全新的用户存储。

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

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

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

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

如果你想要它用于特定的领域,你可以将它提取到一个方法中;

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