【发布时间】:2016-04-27 09:15:59
【问题描述】:
我正在关注this tutorial,以便在创建帐户后添加个人资料图片。
该编辑具有以下 sn-p,
Student student = db.Students.Include(s => s.Files).SingleOrDefault(s => s.ID == id);
在上面的示例中,它应用于表调用 Student 在我的情况下,我想使用 AspNetUser 表,但是我必须使用 UserManger 功能,一旦我尝试 Include 一个文件然后它在编译时弹出该错误。
但在我的场景中,我试图包含在 AspNetUser 或 UserManager 中
所以要填充上传的图片。我需要include 用户管理器中的以下代码
var user = await UserManager.Include(s => s.Files).FindByIdAsync(userid);
但随后出现以下错误
“ApplicationUserManager”不包含“包含”的定义 并且没有扩展方法“包含”接受类型的第一个参数 '应用程序用户管理器'
如何忽略和包含文件
编辑:
这些是我在模型类中所做的更改
文件
public class File
{
public int FileId { get; set; }
..
public virtual ApplicationUser UserManager { get; set; }
}
文件路径
public class FilePath
{
public int FilePathId { get; set; }
..
public virtual ApplicationUser UserManager { get; set; }
}
应用程序用户
public class ApplicationUser : IdentityUser
{
....
public virtual ICollection<File> Files { get; set; }
public virtual ICollection<FilePath> FilePaths { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
....
}
}
AspNetUser
public partial class AspNetUser
{
public AspNetUser()
{
..
}
....
public virtual ICollection<File> Files { get; set; }
public virtual ICollection<FilePath> FilePaths { get; set; }
}
然后尝试通过在 PMC 中键入以下内容来将迁移添加到项目中:
add-migration File
add-migration FilePaths
然后在控制台中出现以下错误
在程序集中找不到迁移配置类型 '项目名'。 (在 Visual Studio 中,您可以使用 Enable-Migrations 来自包管理器控制台的命令以添加迁移 配置)。
然后我在 PMC 中输入了以下内容:
Enable-Migrations project_name.Models.sampleEntityFrameworkEntities
然后我在控制台中收到以下错误
创建 DbModelBuilder 或从创建的 DbContext 编写 EDMX 不支持使用 Database First 或 Model First。 EDMX 只能是 从 Code First DbContext 中获得,而无需使用现有的 DbCompiledModel。
然后我尝试使用以下代码迁移 Files 和 FilesPath
add-migration File
add-migration FilePaths
控制台报错
创建 DbModelBuilder 或从创建的 DbContext 编写 EDMX 不支持使用 Database First 或 Model First。 EDMX 只能是 从 Code First DbContext 中获得,而无需使用现有的 DbCompiledModel。
【问题讨论】:
-
什么类型的UserManager?
-
给出错误的完整描述
-
实际上在上面的例子中它适用于表调用
Student在我的情况下我想使用AspNetUser表,但是我必须使用 UserManger 功能,一旦我尝试Include它在编译时弹出该错误
标签: c# asp.net-mvc asp.net-mvc-3 nuget edmx