Я пытаюсь создать миграцию для нового объекта.Но вот в чем дело: из-за того, что он был сохранен как внутренний объект для другой сущности, у меня нет возможности проверить, существует ли он (если он есть, его нужно обновить).
Теперь,я хотел бы иметь возможность аннотировать таблицу (точнее, PK), чтобы, если я попытаюсь добавить существующую сущность, она обновит ее, а не потерпит неудачу.
Возможно ли это?Если да, то как?
(вот пример кода, который показывает проблему).
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql(@"Host=localhost;Database=mydatabase3;Username=postgres;Password=1234");
}
}
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
public Blog ContainerBlog { get; set; }
public int blabla { get; set; }
}
class Program
{
static void Main(string[] args)
{
Blog b1 = new Blog();
Blog b2 = new Blog();
b2.ContainerBlog = b1;
using (var ctx = new BloggingContext())
{
ctx.Database.Migrate();
ctx.Blogs.Add(b1);
ctx.SaveChanges();
}
using (var ctx = new BloggingContext())
{
ctx.Blogs.Add(b2);
ctx.SaveChanges();
}
}
}