![](/img/trans.png)
[英]Is it possible to automatically map a DB view on Entity Framework Core version 2.1?
[英].NET Core 2.1 - Entity Framework: Check for duplicates before adding to DB
在我的SQL Server数据库中,我有一个IOT数据表(包含1,000,000条记录)。 当应用收到入站读数时,我想检查数据库是否没有相同时间戳的该设备的读数。 检查具有匹配属性的记录的最快方法是什么?
模型
public class Reading
{
public int Id { get; set; }
public double Measurement { get; set; }
public int DeviceId { get; set; }
public Device Device { get; set; }
public DateTime Timestamp { get; set; }
}
AddReading方法
public class ReadingRepository
{
private readonly DataContext _context;
public ReadingRepository(DataContext context)
{
_context = context;
}
public void AddReading(Reading reading)
{
// my proposed method... is there a better way?
if (!_context.Readings.Any(r =>
r.DeviceId == reading.DeviceId,
r.Timestamp == reading.Timestamp))
_context.Readings.Add(reading);
}
}
最快的方法是插入并进行独特的索引打击,并对错误消息做出反应。
或者不要使用存储过程。
根据定义,您对EF所做的任何事情都不是最快的选择。 是的,这并不意味着要放弃所有内容-EF对于80%到95%的操作都是有益的。 只需绕过它就可以了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.