Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将实体框架添加到控制台应用程序(包括图像)_C#_Asp.net_Database_Entity Framework_Objectcontext - Fatal编程技术网

C# 如何将实体框架添加到控制台应用程序(包括图像)

C# 如何将实体框架添加到控制台应用程序(包括图像),c#,asp.net,database,entity-framework,objectcontext,C#,Asp.net,Database,Entity Framework,Objectcontext,我尝试将实体框架添加到控制台应用程序: 我按“添加新项目”并 然后 然后 然后我添加了代码: class Program { static void Main(string[] args) { try { Database1Entities db = new Database1Entities(); db.AddToTable

我尝试将实体框架添加到控制台应用程序: 我按“添加新项目”并

然后

然后

然后我添加了代码:

    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Database1Entities db = new Database1Entities();
                db.AddToTableTest(new TableTest { name = "name" });
                db.SaveChanges();

                int count = db.TableTest.Count();
                int ui = 9 + 0;
            }
            catch (Exception e)
            {

            }
        }
    }
它没有给出任何错误,但我看不到数据库中有任何更改。
我更好地描述了这个问题

我执行了与设置EF模型相同的步骤。您的
database.mdf
文件的
Copy to Output目录
设置为
Copy always
,这意味着每次点击F5(构建或调试应用程序)时,该文件都会被项目上的空文件替换

更改mdf文件属性窗口上的
复制到输出目录
,应该可以解决您的问题

如果使用
Copy If newer
,则将保留对数据库内容的任何修改,直到编辑数据库(mdf)本身

使用
请勿复制
对mdf文件的任何更改都不会反映在您的应用程序中,并且可能会导致EF出现问题


在这种情况下,我建议您使用
Copy if newer
,并将基本数据填入mdf文件中,这样您就可以始终使用它。

如果您接受异常,您如何知道它不会出错?您应该让它出错,直到您确定它正常工作为止。如果您有一个
try/catch
,那么您只能在catch块中找到异常。如果你根本没有它,但是你正在调试,你会在出错的那一行找到关于它的信息,这样你就可以看到它出了什么问题。(VS中有更改此行为的选项,但这是默认设置)mdf数据库文件是否已复制到输出目录?也许每次你按F5时它都会被替换。“int count”是否总是返回1?我尝试了不同的组合,如果更新,也会复制。但当我关闭和数据库的连接并刷新它时,count仍然=1刷新它是什么意思?请使用类似的东西粘贴您的结果:结果很简单。如果我只按F5 5次,count=5。但若我关闭项目并打开它,然后按F5,则计数将为=1。所以我认为,你们是对的,数据库被新的数据库取代了。但如何阻止它呢?只需对mdf文件使用“请勿复制”,但在对mdf进行更改时要注意这一点。您还可以修改连接字符串,使路径到达项目文件夹中的mdf文件,而不是bin文件夹中的mdf文件。类似于“../../database.mdf”而不是app.config上的“database.mdf”