U2 Visual Studio 2013 Надстройка

Я нахожусь в той же лодке, где я не могу добавлять объекты в файл EDM. Я скачал последнюю версию.NET Toolkit 1.3 от Rocketsoftware. Я что-то упустил, или дизайнер все еще ожидает.

Пожалуйста, дайте мне знать, так как это действительно сделает подключение к UniData легким.

Благодарю.

2 ответа

Для создания модели данных сущностей в Visual Studio 2013 необходимо выполнить следующие шаги.

Откройте Visual Studio 2013

введите описание изображения здесь

Откройте View->Server Explorer

введите описание изображения здесь

Создать соединение U2

введите описание изображения здесь

введите описание изображения здесь

Создать проект C# Winform

введите описание изображения здесь

Создать модель данных объекта ADO.NET

Щелкните правой кнопкой мыши на Project и выберите Add New Item.

введите описание изображения здесь

В правой части выберите "Данные", а в левой части выберите "Модель данных ADO.NET Entity". В поле Имя введите Customer. Выберите кнопку "Добавить"

введите описание изображения здесь

Выберите "EF Designer из базы данных" и нажмите "Далее"

введите описание изображения здесь

Выберите строку подключения и выберите "Да" для конфиденциальных данных

введите описание изображения здесь

Выберите Entity Framework 5.0 . Примечание: v2.1.1 будет включать функциональность Entity Framework 6.0.

введите описание изображения здесь

Выбрать все таблицы

введите описание изображения здесь

Нажмите Finish, и вы увидите Entity Data Model

введите описание изображения здесь

Вы также можете использовать LINQ to Entity Code First Model, Visual Studio 2013 и U2 Toolkit для.NET v2.1.0.

Для получения дополнительной информации о U2 Toolkit для.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; }

общедоступный виртуальный ЗАКАЗЧИК Customer { get; задавать; }

Создать контекстный класс

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. Доступ к NoSQL (многозначным данным) с синтаксисом SQL
  4. Заполните файлы учетной записи, атрибуты и подпрограммы System Builder в Visual Studio Server Explorer.
  5. Многозначный поставщик ADO.NET (собственный доступ с файлами U2, атрибутами, подпрограммами)
  6. Надстройки с несколькими значениями (файлы U2, атрибуты, подпрограммы в Visual Studio Server Explorer)
  7. Параметры настройки производительности в строке подключения: "NativeFetch" ​​и "UseFastGetRecordID"
  8. Автоматическое шифрование данных (ADE) с использованием U2Files и подпрограмм
  9. SSL с использованием U2Files и подпрограмм
  10. Пул соединений с использованием U2Files и подпрограмм
  11. Перетащите файлы U2File и подпрограммы в конструктор DataSet и Entity Designer моделей VS2010, VS2012 и VS2013.
  12. Данные U2Files to JSON (для использования с JavaScript/HTML5, шаблоном MVVM /Knockout.js)
  13. Поддержка ASP.NET Web API и o Data с использованием U2Files и подпрограмм (мобильные устройства, планшетное приложение, мобильное приложение PhoneGap, мобильное приложение Xamarin, магазин Windows)
  14. Веб-приложение ASP.NET MVC4 и классическое приложение ASP.NET с использованием U2Files и подпрограмм
  15. WCF с использованием U2Files и подпрограмм
  16. WPF с использованием U2Files и подпрограмм
  17. Службы интеграции SQL Server (SSIS) с использованием U2Files и подпрограмм
  18. Службы отчетов SQL Server (SSRS) с использованием U2Files и подпрограмм
  19. SharePoint Designer и внешние источники данных (файлы и подпрограммы U2)
Другие вопросы по тегам