我正在努力解决当你不使用100%微软时出现的那些奇妙的特质。我们公司使用的是Oracle 11g,而不是SQL Server。经过长时间的战斗,我终于能够连接到Oracle数据库并使用EF Power Tools生成“代码优先逆向工程”POCO等。数据库中有数百个表,我看不到指定这些表的子集,因此生成代码需要数小时。工具/组件是VS2012(C#),Oracle 11g,EF 5,EF,Windows 7 Enterprise的“电动工具”。
我编写了一些非常简单的代码来查看自动生成的类的工作原理:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entities;
using Entities.Models;
namespace EntitiesConsoleTests
{
class Program
{
private static void Main(string[] args)
{
Console.Write("Press <Enter> to begin...");
Console.ReadLine();
try
{
using (var db = new Context())
{
var q = from usr in db.USERS
orderby usr.USERNAME
select usr;
foreach (var u in q)
{
Console.WriteLine(u.USERNAME);
}
}
}
catch (Exception ex)
{
Console.WriteLine("Exception: " + ex.Message);
}
Console.Write("Press <Enter>");
Console.ReadLine();
}
}
}
当我在VS2012中运行这个测试程序时,除了输出窗口的快速闪烁之外我没有输出,该输出窗口不会保持足够长的时间以便读取内容。所以,我构建了程序,打开了一个CMD窗口,并从DOS提示符运行它。这就是我输出的结果:
(我们的防火墙似乎阻止我发布图片,因此我会在文字中对其进行近似。)
我收到一个名为“EntitiesConsoleTests.exe - 无法启动此应用程序的对话框。”
( X ) This application requires one of the following versions of the .NET Framework:
.NET Framework, Version=v4.5
Do you want to install this .NET Framework version now?
[ Yes ] [ No ]
问题是4.5已经安装好了,所以我在试图找出真正的问题时有些不知所措。
谢谢, 彼得