繁体   English   中英

检查实体框架中是否存在记录

[英]Check if a record exists in Entity Framework

我想知道数据库中是否存在记录以避免重复数据。

这是我的代码:

var cliente = rClientes.Retrive(c => c.Cliente == cli);

if (cliente == null)
{
    var newCliente = new Entities.Clientes { Cliente = cli, PuntoReorden = 0 };
    cliente = rClientes.Create(newCliente);
    cliente = rClientes.Retrive(c => c.Cliente == cli);
}

这是在foreach循环内

函数Create

public TEntity Create(TEntity toCreate)
{
    TEntity result = null;

    try
    {
       EntitySet.Add(toCreate);
       result = toCreate;
    }
    catch (Exception ex) { throw ex; }

    return result;
}

功能Retrieve

public TEntity Retrieve(System.Linq.Expressions.Expression<Func<TEntity, bool>> criteria)
{
            TEntity result = null;

            try
            {
                result = EntitySet.FirstOrDefault(criteria);
            }
            catch (Exception ex) { throw ex; }

            return result;
}

该表具有一个标识列,因此,如果我添加实体,我想我将获得分配的ID吗?

我的问题是,每次添加新记录时都必须保存更改吗?

插入记录时,EF6会自动填充对象的id属性。

看到此如何获取实体框架中插入的实体的ID?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM