i'm using ef5 , db2 9.1 z/os , ibm data provider. in program works fine except 1 part. can't insert new object database. error:
{"error [23502] [ibm][db2] sql0407n assignment of null value not null column \"empl_id\" not allowed."}
i have verified time after time value not null... it's valid integer. what's going on?
if (string.isnullorempty(emplid)) return null; try { int _emplid = convert.toint32(emplid.trim()); using (var ctx = new data.timscontext()) { var user = (from u in ctx.query<data.entities.asnuser>() u.employeeid == _emplid select u).firstordefault(); if (user == null) { //add user database user = new data.entities.asnuser() { employeeid = _emplid, firstname = firstname.trim(), lastname = lastname.trim() }; ctx.set<data.entities.asnuser>().add(user); ctx.savechanges(); } return new models.userinfo() { employeeid = user.employeeid, displayname = string.format("{0}, {1}", user.lastname, user.firstname) }; } } catch (exception e) { throw; }
the problem was setting user new object , adding dbset. guess created 2 distinct copies of user object, 1 null , 1 filled out. commented out add line , worked fine.
Comments
Post a Comment