Mysql Lambda表达式-错误无法隐式转换类型`vicoapi.Pictures';至'System.Collections.Generic.List<;维科阿皮图片公司>';(CS0029)

Mysql Lambda表达式-错误无法隐式转换类型`vicoapi.Pictures';至'System.Collections.Generic.List<;维科阿皮图片公司>';(CS0029),mysql,asp.net-mvc,generics,lambda,asp.net-core,Mysql,Asp.net Mvc,Generics,Lambda,Asp.net Core,大家好,下面是我的代码: public class SampleData : DropCreateDatabaseIfModelChanges<VicoTvEntities> { protected override void Seed(VicoTvEntities context) { var pictures = new List<Pictures>{ new Pictures { Name = "Tes

大家好,下面是我的代码:

    public class SampleData : DropCreateDatabaseIfModelChanges<VicoTvEntities>
{
    protected override void Seed(VicoTvEntities context)
    {
        var pictures = new List<Pictures>{
            new Pictures { Name = "Testbild", Url="localhost/test" }
        };
        var user = new List<User>{
            new User{Username="Muster", Password="Pass",Email="max.muster@mustermail.com",Bio="Musterbiografie", Pictures = pictures.Find(pic => pic.Name == "Testbild")}
        };
    }
}
公共类SampleData:DropCreateDatabaseIfModelChanges
{
受保护的覆盖无效种子(VicoTvEntities上下文)
{
var pictures=新列表{
新图片{Name=“Testbild”,Url=“localhost/test”}
};
var user=新列表{
新用户{Username=“Muster”,Password=“Pass”,Email=“max。muster@mustermail.com,Bio=“Musterbiografie”,Pictures=Pictures.Find(pic=>pic.Name==“Testbild”)}
};
}
}
}

我尝试构建一个API,目前正在处理DB与代码的连接。我将遵循本教程:

我的问题是,每当我尝试添加图片时,它都不会工作,因为这个转换错误。如何避免此问题并向用户实现图片。 我的源代码树如下所示:

用户类如下所示:

public class User
{
    public int IdUser { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public string Email { get; set; }
    public string Bio { get; set; }
    public List<Pictures> Pictures { get; set; }
    public List<Follow> Following { get; set; }
    public List<Follow> Followed { get; set; }
}
公共类用户
{
public int IdUser{get;set;}
公共字符串用户名{get;set;}
公共字符串密码{get;set;}
公共字符串电子邮件{get;set;}
公共字符串Bio{get;set;}
公共列表图片{get;set;}
{get;set;}后面的公共列表
公共列表后跟{get;set;}
}
我得到的错误如下所示:

public List<Pictures> Pictures { get; set; }
user.Pictures = pictures
public Pictures Picture { get; set; }
/Users/username/vicotv Backend/vicoapi/vicoapi/Models/SampleData.cs(126126):错误CS0029:无法将类型“vicoapi.Pictures”隐式转换为System.Collections.Generic.List'(CS0029)(vicoapi)


虽然您没有在此处显示该类,但我相当确定您的用户类有一个定义如下的属性:

public List<Pictures> Pictures { get; set; }
user.Pictures = pictures
public Pictures Picture { get; set; }
如果希望用户只能有一张图片,则需要在用户类上定义picture属性,如下所示:

public List<Pictures> Pictures { get; set; }
user.Pictures = pictures
public Pictures Picture { get; set; }
如果像这样定义Picture属性,它应该与当前代码一起使用


另外,我绝对建议你把“图片”课改名为“图片”。通常,类名称应使用单数形式。查看更多信息。

显示
User
类的定义。你的问题目前还不清楚format@Nkosi现在我添加了这个类,然后已经提供的答案解决了这个问题。Find返回您试图分配给列表的单个实例。目的是什么?你想要一套还是一套object@Nkosi现在我已经更新了它,并将其更改为公共图片图片{get;set;},因为每个配置文件只能有一张图片。这是我这边的错误。我只想要一个对象,但正如你在另一个答案中看到的,它不起作用。@Nkosi谢谢你,现在它起作用了,在我写下这篇评论后,我意识到,我应该将图片重命名为图片。现在它工作得很好。现在我已经更新了我的Picture类,并按照您的建议(PublicPictures Picture{get;set;})进行了操作。当我尝试添加用户时,另一个错误出现。我有同样的错误,现在我已经添加了类,它是如何初始化的。编辑:现在它工作了,我犯了一个小错误,我忘了删除图片中的s。谢谢很高兴我能帮忙。