6
I Use This!
Inactive

News

Analyzed about 5 hours ago. based on code collected about 5 hours ago.
Posted over 13 years ago by AK107 <[email protected]>
Hello All! Собственно есть проблема с передачей массивов (PLSQLAssociativeArray — тип оракла = T_NUMBER_TABLE IS TABLE OF NUMBER) в хранимую процедуру. есть такой код на оракле: ... T_NUMBER_TABLE IS TABLE OF NUMBER; ... procedure ... [More] test(p_contract number, p_ids t_number_table) is begin null; end; зову так: db.SetSpCommand("test", contractNo, new long[] { 1, 2, 3 }) .ExecuteNonQuery(); а получаю: BLToolkit.Data.DataException: Invalid parameter binding Имя параметра: P_IDS ---> System.ArgumentException: Invalid parameter binding Имя параметра: P_IDS в Oracle.DataAccess.Client.OracleParameter.PreBind_Collection(OracleConnection conn) в Oracle.DataAccess.Client.OracleParameter.PreBind(OracleConnection conn, IntPtr errCtx, Int32 arraySize) в Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery() в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation) --- Конец трассировки внутреннего стека исключений --- в BLToolkit.Data.DbManager.OnOperationException(OperationType op, DataException ex) в BLToolkit.Data.DbManager.HandleOperationException(OperationType op, Exception ex) в BLToolkit.Data.DbManager.ExecuteOperation[T](OperationType operationType, Func`1 operation) в BLToolkit.Data.DbManager.ExecuteNonQueryInternal() в BLToolkit.Data.DbManager.ExecuteNonQuery() что только не далал, так и не удалось выполнить сие. Подскажите, что я делаю не так? [Less]
Posted over 13 years ago by Suigintou <[email protected]>
Раньше такой код работал, а в новой версии перестал: var xs = new[] { 1, 2, 3 }; Table.Where(a => a.XS.Count(x => xs.Contains(x)) == xs.Count()) Говорит, что "cannot be converted to SQL".
Posted over 13 years ago by maksimus <[email protected]>
Добрый день! Подскажите, появилась ли возможность явно указать что необходимо загрузить сущности помеченные атрибутом Association? Простой случай: очень хочется загрузить для Product значение в свойство Group при этом явно не перечисляя все поля ... [More] Product, а затем указывая заполнение для Group. // То как приходится делать сейчас: var products = from p in db.Product select new Product { Id = p.Id, Code = p.Code, Name = p.Name, Created = p.Created, GroupId = p.GroupId, Group = p.Group }; // Как хотелось бы (самый простой вариант): var products = from p in db.Product select p.Include(i => i.Group); // если нужно загрузить более одной var products = from p in db.Product select p.Include(i => i.Group).Include(i => i.Group2); // либо вместо Include допустим, пометить дополнительно свойство атрибутом, указывающим что должна произойти загрузка этого поля автоматически Если рассматривать более сложный вариант со свойствами-коллекциями и свойствами содержащими вложенные ассоциации, имея такую иерархию(см. описание сущностей): Product (0)--Product level Group (0)--Product level Orders<Order> (0)--Product level Tag (1)--Order level Items<Item> (1)--Order level Tag (2)--Item level тут можно было бы внести разумные ограничения, допустим обрабатывать ассоциации только до уровня 1 включительно. Если на текущий момент похожих возможностей нет и в ближайшее время не предвидится(решающих хотя бы простой случай), подскажите смогу ли я написать расширения решающие данные задачи и подключить их к библиотеке чтобы не модифицировать код библиотеки. Пример описания сущностей [TableName("Products")] public class Product { [Identity, PrimaryKey] public int Id { get; set; } public string Code { get; set; } public string Name { get; set; } public DateTime Created { get; set; } public int GroupId { get; set; } [Association(ThisKey = "GroupId", OtherKey = "Id", CanBeNull = false)] public Group Group { get; set; } [Association(ThisKey = "Id", OtherKey = "ProductId", CanBeNull = true)] public List<Order> Orders { get; set; } } [TableName("Groups")] public class Group { [Identity, PrimaryKey] public int Id { get; set; } public string Code { get; set; } public string Name { get; set; } } [TableName("Orders")] public class Order { [Identity, PrimaryKey] public int Id { get; set; } public int ProductId { get; set; } public int TagId { get; set; } public int No { get; set; } [Association(ThisKey = "Id", OtherKey = "OrderId", CanBeNull = false)] public List<Item> Items { get; set; } [Association(ThisKey = "TagId", OtherKey = "Id", CanBeNull = false)] public Tag Tag { get; set; } } [TableName("Items")] public class Item { [Identity, PrimaryKey] public int Id { get; set; } public int OrderId { get; set; } public int TagId { get; set; } public string Name { get; set; } [Association(ThisKey = "TagId", OtherKey = "Id", CanBeNull = false)] public Tag Tag { get; set; } } [TableName("Tags")] public class Tag { [Identity, PrimaryKey] public int Id { get; set; } public string Name { get; set; } } [Less]
Posted over 13 years ago by AngeL B. &lt;[email protected]&gt;
Использую доступ к данным через режим Data.Linq. Ткните носом (не смог найти) как в этом режиме можно вызывать хранимые процедуры на сервере как было в старом DataAccess-режиме, через объявление abstract-метода. И можно ли такое вообще? P.S. ... [More] про SqlFunctionAttribute и прочее знаю, но они все используются для построения Linq-expressions. А как сделать, чтобы это выглядело именно вызовом метода? [Less]
Posted over 13 years ago
Какой подход выбрать? использовать linq или механизм accessor'ов? достоинства и недостатки каждого из подходов? Спасибо
Posted over 13 years ago
есть таблица в которой есть 4 поля три типа number і одно типа TYPE (Type: create or replace type TYPE as object ( DOC_NUM VARCHAR2(20) ) not final) [TableName("DOCUM")] [DataContract] public class Docum { ... [More] [DataMember] [MapField("ID")] [PrimaryKey, Identity] public int Id { get; set; } [DataMember] [MapField("DOCUM_TYPE_ID")] public int? DocumTypeId { get; set; } [DataMember] [MapField("DOCUM_DETAILS")] public virtual TypeDocDetails TypeDocDetails { get; set; } } не получается считать DOCUM_DeTAILS а все остальние поля зчитиваю как public Table<Docum> Docums { get { return this.GetTable<Docum>(); } } using (var db = new RFLDB()) { var q = db.Docum; foreach (var user in q) { ... } } [Less]
Posted over 13 years ago by Abaddon08 &lt;[email protected]&gt;
БД Oracle. Есть таблица, колонка которой, определенного созданого в БД, типа, например: create or replace type TMP_TYPE as object ( TMP1 VARCHAR2(20), TMP2 NUMBER ) Есть таблица, например с именем "TMP_TABLE" и полями: ID NUMBER, NAME ... [More] VARCHAR2(20), FIELD_TMP_TYPE TMP_TYPE Описываю класс этой таблицы в модели данных: [DataContract] [TableName("TMP_TABLE")] class TMP_TABLE { [DataMember] [PrimaryKey, Identity] [MapField("ID")] public int ID { get; set; } [DataMember] [MapField("NAME")] public string NAME { get; set; } [DataMember] [MapField("FIELD_TMP_TYPE")] public TMP_TYPE FIELD_TMP_TYPE { get; set; } } [DataContract] class TMP_TYPE { [DataMember] [MapField("TMP1")] public string TMP1 { get; set; } [DataMember] [MapField("TMP2")] public int TMP2 { get; set; } } Но при попытке вытянуть данные с этой таблицы, выскакивет ошибка мапинга для даного типа "TMP_TYPE". Как правильно его описать, чтобы заработало? Спасибо. [Less]
Posted about 19 years ago by Paul Bludov &lt;[email protected]&gt;
В статье описывается принятый в BLToolkit унифицированный способ передачи числовых или строковых параметров.
Posted about 19 years ago by Paul Bludov &lt;[email protected]&gt;
В статье описывается принятый в BLToolkit унифицированный способ передачи числовых или строковых параметров.
Posted about 19 years ago by Paul Bludov &lt;[email protected]&gt;
Основной понятием при работе с СУБД является таблица. Таблица представляет собой набор записей одинакового типа. Запись таблицы состоит из полей скаляных (базовых) типов.