C# 无法将类型“WindowsFormsApp2.tbl\u user”隐式转换为“WindowsFormsApp2.BLL.user”

C# 无法将类型“WindowsFormsApp2.tbl\u user”隐式转换为“WindowsFormsApp2.BLL.user”,c#,winforms,dto,C#,Winforms,Dto,我正在尝试使用c和LINQtoSQL创建一个登录表单。当我尝试使用数据库数据验证entred登录时: private void LogIn_Click(object sender, EventArgs e) { User u = d.tbl_user.Where(c => c.username == username.Text && c.pwd == password.Text ).Single(); } var u = d.tbl_user.FirstOrDe

我正在尝试使用c和LINQtoSQL创建一个登录表单。当我尝试使用数据库数据验证entred登录时:

private void LogIn_Click(object sender, EventArgs e)
{
    User u = d.tbl_user.Where(c => c.username == username.Text && c.pwd == password.Text  ).Single();
}
var u = d.tbl_user.FirstOrDefault(c => c.username == username.Text && c.pwd == password.Text); 
它会返回以下错误:

var u = d.tbl_user.FirstOrDefault(c => c.username == username.Text && c.pwd == password.Text); 
无法将类型“WindowsFormsApp2.tbl\u user”隐式转换为“WindowsFormsApp2.BLL.user”

var u = d.tbl_user.FirstOrDefault(c => c.username == username.Text && c.pwd == password.Text); 
编辑:我还尝试向数据库添加数据,但返回相同的错误:

private void ajouter_Click(object sender, EventArgs e)
{
    ArticleBLL a = new ArticleBLL()
    {
        Designiation = des.Text,
        Quantite_stock = Convert.ToInt32(quantite.Text),
        Magasin = dbContext.tbl_magazin.Where(c => c.libelle == magazin.Text).Select(c => c.id).Single(),
        Nature = nature.Text,
        Categorie = dbContext.tbl_categorie.Where(c => c.libelle == categorie.Text).Select(c => c.id).Single(),
        Date_arrive = DateTime.Parse(date.Text),
        Ajoute_par = 1
    };

    dbContext.tbl_article.InsertOnSubmit(a);
    dbContext.SubmitChanges();
}
var u = d.tbl_user.FirstOrDefault(c => c.username == username.Text && c.pwd == password.Text); 
它给了我一条红线:dbContext.tbl_article.InsertOnSubmita;说:

var u = d.tbl_user.FirstOrDefault(c => c.username == username.Text && c.pwd == password.Text); 
无法转换类型dbContext.tbl_article.InsertOnSubmita

var u = d.tbl_user.FirstOrDefault(c => c.username == username.Text && c.pwd == password.Text); 
嘿,帮帮忙!!我不知道问题出在哪里

var u = d.tbl_user.FirstOrDefault(c => c.username == username.Text && c.pwd == password.Text); 
*以下是我的文章:

var u = d.tbl_user.FirstOrDefault(c => c.username == username.Text && c.pwd == password.Text); 
*以下是我的tbl_文章:*

您好,我想您应该尝试以下代码:

var u = d.tbl_user.FirstOrDefault(c => c.username == username.Text && c.pwd == password.Text); 

在你可以用User输入u之后,比较为什么它与你的User类不匹配。

User u应该是tbl\u User uI不明白。先生,你能解释一下为什么我应该把结果放在表中吗?正如@ChetanRanpariya评论的,在你的登录中,单击而不是用户u=。。。您必须使用tbl_user u=。。。因为您根据某些条件筛选d.tbl_用户,结果是tbl_用户的单个项目。如果您需要它成为用户类的实例,那么创建一个用户并将您需要从tbl_User u获得的任何属性分配给它的属性。当您尝试插入时也是如此。您的dbContext.tbl_article.InsertOnSubmita;只能插入tbl_文章实例,您必须创建一个新的tbl_文章,如var tblArticle=new tbl_article;并将a-的属性指定给tblArticle-的属性。然后应该有dbContext.tbl_article.insertonsumbittblaticle;哦非常感谢现在我明白了谢谢Sirit和var一起工作,但我不明白为什么它不能和类用户一起工作。。。谢谢你的帮助!我很感激!在尝试向数据库添加数据时,我再次出现相同的错误。。你能帮帮我吗?@jasmin你可以用谓词FirstOrDefault@milmike你能告诉我你的代码吗?我想我可以试试hi@Ghukas。你能解释一下谓词在first中是如何有用的吗
var u = d.tbl_user.FirstOrDefault(c => c.username == username.Text && c.pwd == password.Text);