【发布时间】:2018-07-28 10:58:50
【问题描述】:
如何在 ASP.NET Core 应用程序中使用 Entity Framework Core(代码优先)将文件存储在 SQL Server 数据库中?
我尝试过使用Filestream,但不幸的是我收到了这个错误:
无法为实体类型“UserProfile”上的属性“Avatar”调用属性,因为它被配置为导航属性。属性只能用于配置标量属性
代码如下:
public class UserProfile : BaseEntity {
public FileStream Avatar { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }
public Sex Sex { get; set; }
public string Address { get; set; }
public string PhoneNumber { get; set; }
public virtual IEnumerable<Email> Emails { get; set; }
public virtual User User { get; set; }
public int UserID { get; set; }
}
和映射:
public class UserProfileMap {
public UserProfileMap(EntityTypeBuilder<UserProfile> entityBuilder) {
entityBuilder.HasKey(e => e.ID);
entityBuilder.Property(e => e.Avatar);
entityBuilder.Property(e => e.FirstName);
entityBuilder.Property(e => e.LastName);
entityBuilder.Property(e => e.DateOfBirth);
entityBuilder.Property(e => e.Sex);
entityBuilder.Property(e => e.Address);
entityBuilder.Property(e => e.PhoneNumber);
entityBuilder.HasMany(e => e.Emails).WithOne(u => u.UserProfile).HasForeignKey(x => x.UserProfileID);
}
}
我该怎么办?谢谢!
【问题讨论】:
标签: c# .net sql-server asp.net-core entity-framework-core