小编Hel*_*aby的帖子

实体框架 - 独特索引上的UPSERT

我搜索了一下我的问题,但找不到任何真正有用的东西.

所以我的问题/困境保持这样:我知道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)

c# sql entity-framework upsert

20
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

entity-framework ×1

sql ×1

upsert ×1