无法将类型“ WindowsFormsApp2.tbl_user”隐式转换为“ WindowsFormsApp2.BLL.User”

时间:2018-07-19 12:56:53

标签: c# winforms dto

我正在尝试使用c#和LINQ to SQL创建一个登录表单。当我尝试使用数据库数据验证输入的登录名时:

private void LogIn_Click(object sender, EventArgs e)
{
    User u = d.tbl_user.Where(c => c.username == username.Text && c.pwd == password.Text  ).Single();
}

它向我返回此错误:

  

不能将类型'WindowsFormsApp2.tbl_user'隐式转换为'WindowsFormsApp2.BLL.User'

编辑:我也试图将数据添加到数据库中,但是它返回相同的错误:

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();
}

在下面的dbContext.tbl_article.InsertOnSubmit(a);下方有一条红线,表示:

  

无法转换类型dbContext.tbl_article.InsertOnSubmit(a);

快点!我不知道问题出在哪里。

*这是我的ArticleBll.cs:

class ArticleBLL
{
    public int Code_article { get; set; }
    public string Designiation { get; set; }
    public int Quantite_stock { get; set; }

    public int Magasin { get; set; }

    public string Nature { get; set; }
    public decimal Prix { get; set; }

    public int Categorie { get; set; }
    public DateTime Date_arrive { get; set; }
    public int Ajoute_par { get; set; }
}

*这是我的tbl_article:* my table article image

1 个答案:

答案 0 :(得分:-1)

嗨,我认为您应该尝试以下代码:

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

比较一下您可以用用户键入u后为什么它与您的User类不匹配。