Linq To Sql插入问题

时间:2012-03-12 08:39:21

标签: c# linq-to-sql

我正在使用Linq To SqlSql server 2008中的表格插入少量数据。

            memadd.add_id = Convert.ToDecimal(resadd);
            memadd.mem_add = txtResAdd.Text;
            memadd.tel_no1 =Convert.ToDecimal(txtResTelNo.Text);
            memadd.mob_no1 = Convert.ToDecimal(txtResMobNo.Text);
            memadd.state = drpResState.Text;
            memadd.city = drpResCity.Text;
            memadd.pin_no = Convert.ToDecimal(txtResPinNo.Text);
            dt.mem_addresses.InsertOnSubmit(memadd);
            dt.SubmitChanges(); 

我的问题是,当我将数据插入字段时,它会给我一个错误说

Can't perform Create, Update or Delete operations on 'Table(mem_address)' because it has no primary key.

我有一种情况,我无法将主键设置为该表。任何人都可以指出我需要在这里做什么。 感谢

3 个答案:

答案 0 :(得分:1)

Linq to sql无法在这种情况下使用。只需将insert语句转换为存储过程,然后将该过程添加到数据模型中。如果你不能这样做,用一些内联SQL编写一个普通的函数

答案 1 :(得分:1)

告诉DBML设计器中的memadd表,例如选择add_id作为PK。

它不需要在数据库本身上。

答案 2 :(得分:1)

Linq不支持没有主键的表...