Nie*_*ein 3 c# linq savechanges dbcontext
我正在尝试使用以下代码将实体保存到我的数据库:
public void Add(object entity)
{
DbContext.Entry(entity).State = System.Data.EntityState.Added;
DbContext.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
我测试过,如果出现问题(例如,实体的字段为空,在数据库中不能为空),则会出错.我填写了所有necesarry字段并调用了此代码.它没有给出错误.但是,该实体也未添加到数据库中.我怎样才能找到DbContext.SaveChanges(); 没有错误信息会出错?
下面是调用Add()函数的代码.
public void StoreElectronicSignatureType(ElectronicSignatureTypeModel model)
{
var RSA = new System.Security.Cryptography.RSACryptoServiceProvider();
var parameters = RSA.ExportParameters(false);
model.modulus = Convert.ToBase64String(parameters.Modulus);
model.exponent = Convert.ToBase64String(parameters.Exponent);
model.privatekey = RSA.ToXmlString(true);
ElectronicSignatureType electronicSignatureType = new ElectronicSignatureType();
Entity entity = GetEntity(model.entity);
electronicSignatureType.Entity = entity;
electronicSignatureType.HashAlgorithm = model.hashAlgorithm;
electronicSignatureType.Exponent = model.exponent;
electronicSignatureType.Modulus = model.modulus;
electronicSignatureType.Version = model.version;
//electronicSignatureType.EntityId = entity.EntityId;
electronicSignatureType.PrivateKey = StrToByteArray(model.privatekey);
Add(electronicSignatureType);
}
Run Code Online (Sandbox Code Playgroud)
您必须将新实体附加到上下文.尝试:
context.ElectronicSignatureTypes.Add(electronicSignatureType);
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)