问题描述
使用entity Framework 5 (5.0.4)和本地SQL Server,为什么下面的代码没有在数据库中创建一行?
注意连接字符串包含Enlist=False
using System;
using System.Transactions;
using Microsoft.EntityFrameworkCore;
namespace EfTransaction
{
public class Program
{
public static void Main()
{
var scope = new TransactionScope();
var ctx = new MyDbContext();
var eObj = new MyEntityObject { Name = "My New Object" };
ctx.Set<MyEntityObject>().Add(eObj);
ctx.SaveChanges();
scope.Dispose();
Console.WriteLine("Done");
}
}
public class MyDbContext : DbContext
{
public DbSet<MyEntityObject> MyObjects { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(
"Server=.;Initial Catalog=MyDb;User Id=sa;Password=hunter2;Integrated Security=false;MultipleActiveResultSets=true;Enlist=False;");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<MyEntityObject>().HasKey(x => x.Name);
}
}
public class MyEntityObject
{
public string Name { get; set; }
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)