C# 为什么不显示通过SQL Server对象资源管理器进行的手动修改,但添加了新记录?
您好,我有一个控制台应用程序,我在其中硬编码添加记录。之后,我进行手动修改和添加,并在控制台上显示它们。在控制台上可以看到修改和添加,但实际的修改没有,而添加的修改在新状态下可以看到 即: 记录1:“John”改为“K” 控制台应用程序显示记录1已被修改,但name属性未显示实际属性,而是显示旧属性。 当我添加记录2时,控制台显示新记录的实际数据。为什么会这样C# 为什么不显示通过SQL Server对象资源管理器进行的手动修改,但添加了新记录?,c#,sql,entity-framework,C#,Sql,Entity Framework,您好,我有一个控制台应用程序,我在其中硬编码添加记录。之后,我进行手动修改和添加,并在控制台上显示它们。在控制台上可以看到修改和添加,但实际的修改没有,而添加的修改在新状态下可以看到 即: 记录1:“John”改为“K” 控制台应用程序显示记录1已被修改,但name属性未显示实际属性,而是显示旧属性。 当我添加记录2时,控制台显示新记录的实际数据。为什么会这样 Console.WriteLine("Welcome. Type YES to hard codedly add records.)")
Console.WriteLine("Welcome. Type YES to hard codedly add records.)");
if (Console.ReadLine().Equals("YES"))
{
using (var db = new HomeContext())
{
db.Homes.Add(new Home { Owner = "John", Time = DateTime.Now });
var count = db.SaveChanges();
DateTime old = db.Homes.Max(u => u.Time);
Console.WriteLine("{0} records saved to database", count);
Console.WriteLine("All records:");
foreach (var home in db.Homes)
{
Console.WriteLine(home);
}
Console.WriteLine("When you've made the manual changes through SQL Explorer GUI on Visual Studio, type YES");
if (Console.ReadLine().Equals("YES"))
{
var records = db.Homes.Where(u => u.Time > old).ToList();
Console.WriteLine("These are the recently made changes:");
foreach (var home in records)
{
Console.WriteLine(home);
}
}
Console.ReadKey();
}
}
控制台输出:
所有记录:
房主约翰
使用资源管理器手动添加和修改
键入是
以下是最近所做的更改:
房主约翰
Home 2 Owner newRecord稍微改变一下结构
查询数据库时,使用GUI通过SQL Server对象浏览器使用数据库上下文的新对象。单击表上的“查看数据”并手动进行添加。Visual Studio。英孚。先编码。C#我对EF和Visual Studio非常陌生。我单击刷新并单击行上的enter。刷新所有内容,但没有效果。我肯定会离开这里是的,我看到了所有的变化。奇怪的事情正在控制台上发生,我做了改变。我在资源管理器的表上看到它们。然后我执行了查询,也看到了更改代码>在不起作用的行之前,它是否起作用?