0

当你不使用 100% 微软时,我正在与那些奇妙的特质之一搏斗。我们公司使用的是Oracle 11g,不是SQL Server。经过漫长的战斗,我终于能够连接到 Oracle 数据库并使用 EF Power Tools 生成“代码优先逆向工程”POCO 等。数据库中有数百个表,我没有办法指定其中的一个子集,因此生成代码需要几个小时。工具/组件是 VS2012 (C#)、Oracle 11g、EF 5、EF 的“Power tools”、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,所以我有点不知所措,试图找出真正的问题是什么。

谢谢,彼得

4

0 回答 0