gpt4 book ai didi

c# - 使用 ASP.NET Identity 忽略 UserName 属性

转载 作者:太空宇宙 更新时间:2023-11-03 12:18:48 25 4
gpt4 key购买 nike

我的应用程序使用 ASP.NET 标识,但不使用 UserName 属性,因为用户使用 Email 登录。因此,我想将其从数据库表中删除以保持整洁,我已使用以下代码完成此操作:

public class UserEntityConfiguration : EntityTypeConfiguration<User>
{
public UserEntityConfiguration()
{
ToTable("User");

Property(u => u.Id).HasColumnOrder(0);
Property(u => u.Title).HasMaxLength(50).HasColumnOrder(1);
Property(u => u.FullName).HasMaxLength(256).IsRequired().HasColumnOrder(2);
Property(u => u.Email).HasMaxLength(512).IsRequired().HasColumnOrder(3);
Property(u => u.EmailConfirmed).HasColumnOrder(4);
Property(u => u.PasswordHash).HasColumnOrder(5);
Property(u => u.SecurityStamp).HasMaxLength(256).HasColumnOrder(6);
Ignore(u => u.UserName); // not used
Ignore(u => u.PhoneNumber); // not used
Ignore(u => u.PhoneNumberConfirmed); // not used

}
}

如果我不设置 UserName 属性,我会收到运行时错误

Name cannot be null or empty.

如果我随后尝试设置该属性,则会收到此错误:

The specified type member 'UserName' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.

因为没有数据库列可以将属性映射到。

是否可以在 User 表中没有 UserName 列的情况下使用 ASP.NET Identity(在我的情况下不会使用)?

最佳答案

我认为使用默认的 IdentityUser 是不可能的。 UserName 属性也用于身份验证。

您可能必须写下自己的身份,或者只是“忽略”它(顺其自然)。

关于c# - 使用 ASP.NET Identity 忽略 UserName 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48391129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com