C# 仅将最后一项添加到数据库

C# 仅将最后一项添加到数据库,c#,C#,我试图将一些控件添加到列表中,但由于某些原因,这只是将最后一个视图保存到数据库中 public List<tblPortalIandEValue> createIandERecord(Guid _userId, string fieldName, string fieldValue) { List<tblPortalIandEValue> _iandevalues = new List<tblPortalIandEValue>(); _iand

我试图将一些控件添加到列表中,但由于某些原因,这只是将最后一个视图保存到数据库中

public List<tblPortalIandEValue> createIandERecord(Guid _userId, string fieldName, string fieldValue)
{
    List<tblPortalIandEValue> _iandevalues = new List<tblPortalIandEValue>();
    _iandevalues.Add(new tblPortalIandEValue { userId = _userId, field_name = fieldName, field_value = fieldValue });

    return _iandevalues;
}
public List createIandERecord(Guid\u userId,string fieldName,string fieldValue)
{
列表_iandevalues=新列表();
_添加(新的TBLPortaliandValue{userId=\u userId,field\u name=fieldName,field\u value=fieldValue});
返回-贬值;
}
我想我的问题在于我的保存,因为我把这个列表称为addnew,然后返回它。我想我应该返回记录

protected void btnSave_Click(object sender, EventArgs e)
{
    List<tblPortalIandEValue> _iandevalues = new List<tblPortalIandEValue>();
    _customerId = Guid.NewGuid();
    _iandevalues=_dal.createIandERecord(_customerId , "mortagecic", mortagecic.Value.ToString());

    _iandevalues = _dal.createIandERecord(_customerId, "gascic", gascic.Value.ToString());
    _iandevalues = _dal.createIandERecord(_customerId, "electricitycic", electricitycic.Value.ToString());

    _iandevalues.ForEach(n =>_dal.portalEntities.tblPortalIandEValues.Add(n));
    _dal.portalEntities.SaveChanges();
}
protectedvoidbtnsave\u单击(对象发送方,事件参数e)
{
列表_iandevalues=新列表();
_customerId=Guid.NewGuid();
_iandevalues=_dal.createIAnderRecord(_customerId,“mortagecic”,mortagecic.Value.ToString());
_iandevalues=_dal.createIAnderRecord(_customerId,“gascic”,gascic.Value.ToString());
_iandevalues=_dal.createIandERecord(_customerId,“electricitycic”,electricitycic.Value.ToString());
_iandevalues.ForEach(n=>_dal.portalinties.tblportaliandvalues.Add(n));
_dal.portalinties.SaveChanges();
}

您的问题在于CreateIAnderRecord方法,因为您每次都在更新列表。将代码更改为:

 public tblPortalIandEValue createIandERecord(Guid _userId, string fieldName, string fieldValue)
    {
        return new tblPortalIandEValue { userId = _userId, field_name = fieldName, field_value = fieldValue });
            }

    protected void btnSave_Click(object sender, EventArgs e)
    {
        List<tblPortalIandEValue> _iandevalues = new List<tblPortalIandEValue>();
        _customerId = Guid.NewGuid();
        _iandevalues.Add(_dal.createIandERecord(_customerId, "mortagecic", mortagecic.Value.ToString()));

        _iandevalues.Add(_dal.createIandERecord(_customerId, "gascic", gascic.Value.ToString()));
        _iandevalues.Add(_dal.createIandERecord(_customerId, "electricitycic", electricitycic.Value.ToString()));
        _iandevalues.ForEach(n => _dal.portalEntities.tblPortalIandEValues.Add(n));
        _dal.portalEntities.SaveChanges();

    }
public tblportaliandvalue createIandERecord(Guid\u用户ID、字符串字段名、字符串字段值)
{
返回新的TBLPortaliandValue{userId=\u userId,field\u name=fieldName,field\u value=fieldValue});
}
受保护的无效btnSave\u单击(对象发送方,事件参数e)
{
列表_iandevalues=新列表();
_customerId=Guid.NewGuid();
_iandevalues.Add(_dal.createIAnderRecord(_customerId,“mortagecic”,mortagecic.Value.ToString());
_iandevalues.Add(_dal.createIAnderRecord(_customerId,“gascic”,gascic.Value.ToString());
_i折旧.Add(_dal.createIandERecord(_customerId,“electricityic”,electricityic.Value.ToString());
_iandevalues.ForEach(n=>_dal.portalinties.tblportaliandvalues.Add(n));
_dal.portalinties.SaveChanges();
}

第二行将覆盖列表的创建。我怀疑您想将其更改为
\u iandevalues.AddRange(\u dal.createIandERecord(…)我相信我被跟踪了hee没有理由投票感谢你的帮助而不是贬低