我已经创建了一个类库并添加了一个EF模型,但是一旦我声明了一个变量,我的项目就会跳过剩下的代码而没有任何错误。我不明白是什么导致这种情况发生。
图书馆代码
public class Phisc
{
//Global DB Entity variable
live_restoreEntities db = new live_restoreEntities();
//Write data to file
public void PhiscFile(int value)
{
string strFileName, strFilePath;
StreamWriter stm;
//Create a file name that will be created
strFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + "_PHISC";
//The path that were the file will be saved
strFilePath = "c:\\" + strFileName + ".txt";
//Validate if file exists
if (!System.IO.File.Exists(strFilePath))
System.IO.File.Create(strFilePath).Dispose();
stm = new StreamWriter(strFilePath, false);
stm.Write("This is a test message from C#");
stm.Close();
}
}
WinForm代码
private void Form1_Load(object sender, EventArgs e)
{
Phisc.Phisc pFile = new Phisc.Phisc();
pFile.PhiscFile(14);
}
当我创建库的实例时,它没有点击我的PhiscFile方法。
我为它添加了一个断点,它在此构造函数中停止
public live_restoreEntities() : base("name=live_restoreEntities", "live_restoreEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
我正在使用Windows应用程序来测试我的库
答案 0 :(得分:1)
无参数构造函数会在App.config文件中查找conenctionstring。它看起来就像.exe文件。
我猜你需要将你的App.config(从你的实体库)包含到你的WinForms库中。
在App.config中,它应如下所示:
<configuration>
<connectionStrings>
<add name="live_restoreEntities"
connectionString="<your connection string here>"
providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>