0

我在同一条船上,我无法在 EDM 文件中添加添加实体。我已经从 Rocketsoftware 下载了最新的 .NET Toolkit 1.3。是我遗漏了什么,还是设计师仍在等待中。

请让我知道,因为这将使连接到 UniData 变得轻而易举。

谢谢。

4

2 回答 2

0

您需要执行以下步骤在 Visual Studio 2013 中创建实体数据模型。

打开 Visual Studio 2013

在此处输入图像描述

打开视图->服务器资源管理器

在此处输入图像描述

创建 U2 连接

在此处输入图像描述

在此处输入图像描述

创建 C# Winform 项目

在此处输入图像描述

创建 ADO.NET 实体数据模型

右键单击项目并选择添加新项目。

在此处输入图像描述

在右侧,选择“数据”,在左侧选择“ADO.NET 实体数据模型”。在名称字段中,输入客户。选择“添加”按钮

在此处输入图像描述

选择“EF Designer from database”并选择“Next”</p>

在此处输入图像描述

选择连接字符串并为敏感数据选择“是”

在此处输入图像描述

选择实体框架 5.0。注意:v2.1.1 将包含 Entity Framework 6.0 功能。

在此处输入图像描述

选择所有表

在此处输入图像描述

按完成,您将看到实体数据模型

在此处输入图像描述

于 2014-05-11T18:34:11.287 回答
0

您还可以使用 LINQ to Entity Code First 模型、Visual Studio 2013 和 U2 Toolkit for .NET v2.1.0。

有关 U2 Toolkit for .NET v2.1.0 的更多信息,请参见下文。

创建单值类

public class CUSTOMER
{
    public int CUSTID { get; set; }
    public string FNAME { get; set; }
    public string LNAME { get; set; }
    public virtual ICollection<CUSTOMER_ORDER> Orders { get; set; }
}

创建多值类

public class CUSTOMER_ORDER //Syntax : FILENAME_ASSOCIATION OR FILENAME_MULTIVALUE
{
    [Column (Order =0)]
    public int CUSTID { get; set; }

    [Column(Order = 1)]
    public string PRODID { get; set; }

    [Column(Order = 2)]
    public string SER_NUM { get; set; }

    [Column(Order = 3)]
    public int Z_MV_KEY { get; set; }

    [Column(Order = 4)]
    //[ForeignKey("CUSTID")]
   public virtual CUSTOMER Customer { get; set; }

}

在单值类和多值类之间创​​建关系

public virtual ICollection<CUSTOMER_ORDER> Orders { get; set; }

公共虚拟客户客户{获取;放; }

创建上下文类

public class CustomerContext : DbContext
{
    public CustomerContext()
    {

    }
    public DbSet<CUSTOMER> Customers { get; set; }

    public DbSet<CUSTOMER_ORDER> Orders { get; set; } //Syntax : FILENAME_ASSOCIATION OR FILENAME_MULTIVALUE

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        //modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        modelBuilder.Conventions.Remove<PluralizingEntitySetNameConvention>();
        modelBuilder.Conventions.Remove<OneToOneConstraintIntroductionConvention>();
        modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
        modelBuilder.Conventions.Remove<AssociationInverseDiscoveryConvention>();
        modelBuilder.Conventions.Remove<DatabaseGeneratedAttributeConvention>();
        modelBuilder.Conventions.Remove<DeclaredPropertyOrderingConvention>();
        modelBuilder.Conventions.Remove<RequiredNavigationPropertyAttributeConvention>();

        modelBuilder.Entity<CUSTOMER>().Property(t => t.CUSTID)
                        .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);


        Database.SetInitializer<CustomerContext>(null);
        modelBuilder.Entity<CUSTOMER>()
        .HasKey(pk => new { pk.CUSTID })
         .ToTable("CUSTOMER");

        modelBuilder.Entity<CUSTOMER_ORDER>()
            .HasKey(pk => new { pk.CUSTID, pk.Z_MV_KEY })
        .ToTable("CUSTOMER_ORDER");//Syntax : FILENAME_ASSOCIATION OR FILENAME_MULTIVALUE

        modelBuilder.Entity<CUSTOMER_ORDER>()
        .HasRequired(c => c.Customer)
        .WithMany(p => p.Orders)
        .HasForeignKey(c => c.CUSTID)
         .WillCascadeOnDelete(false);


    }
}

在 App.Config 文件中添加一个条目

<add name="CustomerContext" connectionString="Database=HS.SALES;User ID=user;Password=mypass;Server=myserver;Pooling=false;ServerType=universe;PersistSecurityInfo=true;AccessMode=Native;RpcServiceType=uvcs" providerName="U2.Data.Client"/>

运行应用程序

static void Main(string[] args)
    {

        try
        {
            Console.WriteLine("Start...");
            Database.SetInitializer<CustomerContext>(null);
            CustomerContext ctx = new CustomerContext();
            var q = ctx.Customers.ToList();
            foreach (var item in q)
            {
                string lCUSTID = Convert.ToString(item.CUSTID);
                string lFNAME = Convert.ToString(item.FNAME); ;
                string lLNAME = Convert.ToString(item.LNAME); ;

                Console.Write("CUSTID:" + lCUSTID);
                Console.Write(" FNAME:" + lFNAME);
                Console.Write(" LNAME:" + lLNAME);

                foreach (var item2 in item.Orders)
                {
                    string lCUSTID2 = Convert.ToString(item2.CUSTID);
                    string lPRODID = Convert.ToString(item2.PRODID); ;
                    string lSER_NUM = Convert.ToString(item2.SER_NUM);
                    string lZ_MV_KEY = Convert.ToString(item2.Z_MV_KEY);

                    Console.Write("\t"+"CUSTID:" + lCUSTID2);
                    Console.Write("\t" + " PRODID:" + lPRODID);
                    Console.Write("\t" + " SER_NUM:" + lSER_NUM);
                    Console.Write("\t" + " Z_MV_KEY:" + lZ_MV_KEY);
                }


                Console.WriteLine();
            }
            Console.WriteLine("End...");
            Console.Read();

        }
        catch (Exception e)
        {
            string lErr = e.Message;
            if (e.InnerException != null)
            {
                lErr += e.InnerException.Message;
                Console.WriteLine(lErr);

            }
        }
    }

V2.1.0 中的新功能

  1. 完成一个 .NET 包
  2. 一站式服务:SQL Access、Native Access 和 UniObjects API(以前称为 UO.NET)
  3. 使用 SQL 语法访问 NoSQL(多值数据)
  4. 在 Visual Studio Server Explorer 中填充系统生成器帐户文件、属性和子例程。
  5. 多值 ADO.NET 提供程序(具有 U2 文件、属性、子例程的本机访问)
  6. 多值加载项(U2 文件、属性、Visual Studio Server Explorer 中的子例程)
  7. 连接字符串中的性能调整参数:“NativeFetch”和“UseFastGetRecordID”</li>
  8. 使用 U2Files 和子例程的自动数据加密 (ADE)
  9. SSL 使用 U2Files 和 Subroutines
  10. 使用 U2Files 和子例程的连接池
  11. 将 U2Files 和子例程拖放到 DataSet Designer 和 Entity Data Model Designer VS2010、VS2012 和 VS2013 支持
  12. U2Files 到 JSON 数据(与 JavaScript/HTML5、MVVM 模式/Knockout.js 一起使用)
  13. 使用 U2Files 和子例程(移动设备、平板电脑应用、PhoneGap 移动应用、Xamarin 移动应用、Windows 应用商店)的 ASP.NET Web API 和 oData 支持
  14. ASP.NET MVC4 Web 应用程序和使用 U2Files 和子例程的经典 ASP.NET 应用程序
  15. WCF 使用 U2Files 和子例程
  16. 使用 U2Files 和子例程的 WPF
  17. 使用 U2Files 和子例程的 SQL Server Integration Services (SSIS)
  18. 使用 U2Files 和子例程的 SQL Server Reporting Services (SSRS)
  19. SharePoint Designer 和外部数据源(U2 文件和子例程)
于 2014-05-14T16:22:25.720 回答