我搜索了一下我的问题,但找不到任何真正有用的东西.
所以我的问题/困境保持这样:我知道mysql数据库有一个唯一的索引系统,可以使用这种格式在同一查询中插入/更新:
insert into t(a,b,c) values(1,1,1) on duplicate keys update b=values(b),c=values(c);
以及用于替换该索引的现有记录的替换格式.
说实话,我在MSSQL中看到的唯一类似的东西是,merge但我真的不喜欢它,并且验证插入或更新的查询根本不是唯一的索引...
那么如何将mysql独特的UPSERT模拟到Entity Framework中呢?这是我的主要问题......
我的意思是没有从实体集中获取记录并检查它是否为null或者是否为可能的插入或更新;
我能得到它吗?或不?任何提示都可能有用
我看到了这个,但没有出现在版本6中......
实体的例子:
[Table("boats")]
public class Boat
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int id { get; set; }
[MaxLength(15)]
[Index("IX_ProviderBoat",1,IsUnique=true)]
public string provider_code { get; set; }
public string name { get; set; }
[Index("IX_ProviderBoat", 3, IsUnique = true)]
[MaxLength(50)]
public string model { get; set; }
[Index("IX_ProviderBoat", 2, IsUnique = true)]
[MaxLength(15)]
[Key]
public string boat_code { get; set; }
public …Run Code Online (Sandbox Code Playgroud)