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