【问题标题】:U2 Visual Studio 2013 Add-inU2 Visual Studio 2013 插件
【发布时间】:2014-01-07 19:34:26
【问题描述】:

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

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

谢谢。

【问题讨论】:

    标签: u2 u2netdk


    【解决方案1】:

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

    打开 Visual Studio 2013

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

    创建 U2 连接

    创建 C# Winform 项目

    创建 ADO.NET 实体数据模型

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

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

    选择“EF Designer from database”并选择“Next”

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

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

    选择所有表格

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

    【讨论】:

      【解决方案2】:

      您还可以使用 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 服务器资源管理器中。
      5. 多值 ADO.NET 提供程序(使用 U2 文件进行本机访问, 属性、子程序)
      6. 多值加载项(U2 文件、属性、Visual 中的子例程) Studio 服务器资源管理器)
      7. 连接字符串中的性能调整参数:“NativeFetch” 和“UseFastGetRecordID”
      8. 使用 U2 文件和子例程的自动数据加密 (ADE)
      9. 使用 U2 文件和子例程的 SSL
      10. 使用 U2Files 和子例程的连接池
      11. 将 U2Files 和子例程拖放到 DataSet Designer 和 实体数据模型设计器 VS2010、VS2012 和 VS2013 支持
      12. U2Files 到 JSON 数据(用于 JavaScript/HTML5、MVVM 模式/Knockout.js)
      13. ASP.NET Web API 和 oData 支持使用 U2Files 和 Subroutines ( 移动设备、平板电脑应用、PhoneGap 移动应用、Xamarin 移动 应用程序、Windows 应用商店)
      14. ASP.NET MVC4 Web 应用程序和经典 ASP.NET 应用程序使用 U2文件和子程序
      15. 使用 U2 文件和子例程的 WCF
      16. 使用 U2 文件和子例程的 WPF
      17. 使用 U2Files 的 SQL Server 集成服务 (SSIS) 和 子程序
      18. 使用 U2Files 和子例程的 SQL Server Reporting Services (SSRS)
      19. SharePoint Designer 和外部数据源(U2 文件和 子程序)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        相关资源
        最近更新 更多