public static GetDataString(categoryId : string) : string
{
if (categoryId!="")
{ def res = linq<#from i in _CfgIzmeritel
from c in _CfgTypeIzmer
where i.ID_Izmerit==int.Parse(categoryId)
where c.ID_TypeIzmerit == i.ID_TypeIzmerit
select (c.CaptionForTables)#> ; res.ToArray()[0]
} else""
}
error :
Ошибка 1 internal compiler error: assertion failed in file ncc\optimization\CFG.n, line 123 C:\Program Files\Nemerle\Nemerle.MSBuild.targets 226 10
очень хочется, что бы этой ошибки не было ...
الحقيقة:الشئ الوحيد الذي(لا)يصدقه الناس!ا الزواج : جمع.وطرح.ثم(ضرب)!ولكنه قبل ذلك(قسمة) المحامي:لسان.وحنجرة.وروب!يدافع عن مال موكله (أعزائي)!وهو لا يعرف أحد منّا!الطالب (الأول)على فصله!لولا وجود الأخرين
Re: LinqToSQL error при построение WebApp с Optimization - t
Здравствуйте, Shame, Вы писали:
S>Один из примеров, ломающих оптимизацию :
S>
S> public static GetDataString(categoryId : string) : string
S> {
S> if (categoryId!="")
S> { def res = linq<#from i in _CfgIzmeritel
S> from c in _CfgTypeIzmer
S> where i.ID_Izmerit==int.Parse(categoryId)
S> where c.ID_TypeIzmerit == i.ID_TypeIzmerit
S> select (c.CaptionForTables)#> ; res.ToArray()[0]
S> } else""
S> }
S>
S>error : S> S>Ошибка 1 internal compiler error: assertion failed in file ncc\optimization\CFG.n, line 123 C:\Program Files\Nemerle\Nemerle.MSBuild.targets 226 10 S>
S>очень хочется, что бы этой ошибки не было ...
А какие классы ?
У меня тут вообще не компилируется
using Nemerle.Collections;
using Nemerle.Text;
using Nemerle.Utility;
using Nemerle.Data.Linq;
using System;
using System.Collections.Generic;
using System.Console;
using System.Linq;
[Record]
class CfgIzmeritel
{
[Accessor]
_ID_Izmerit : int;
[Accessor]
_ID_TypeIzmerit : int;
}
[Record]
class CfgTypeIzmer
{
[Accessor]
_ID_TypeIzmerit: int;
[Accessor]
_CaptionForTables : string;
}
module Program
{
public static GetDataString(categoryId : string) : string
{
def _CfgIzmeritel = array[CfgIzmeritel(1, 2), CfgIzmeritel(1, 2)];
def _CfgTypeIzmer = array[CfgTypeIzmer(2, "a"), CfgTypeIzmer(2, "a")];
if (categoryId!="")
{
def res =
linq<#
from i in _CfgIzmeritel
from c in _CfgTypeIzmer
where i.ID_Izmerit == int.Parse(categoryId)
where c.ID_TypeIzmerit == i.ID_TypeIzmerit
select (c.CaptionForTables)#> ;
res.ToArray()[0]
}
else""
}
public Main() : void
{
}
}
Error: each overload has an error during call:
Error: overload #1, "method System.Linq.Enumerable.Where(source : System.Collections.Generic.IEnumerable[TSource], predicate : System.Func[TSource, int, bool]) : System.Collections.Generic.IEnumerable[TSource]" fail because:
Error: in argument #2 (predicate), needed a System.Func[(CfgIzmeritel- * CfgTypeIzmer-)-, int, bool], got (? * ?) -> bool-: ((CfgIzmeritel- * CfgTypeIzmer-)- * int) -> bool is not a subtype of System.Func[(CfgIzmeritel- * CfgTypeIzmer-)-, int, bool] [simple require]
Error: overload #2, "method System.Linq.Enumerable.Where(source : System.Collections.Generic.IEnumerable[TSource], predicate : System.Func[TSource, bool]) : System.Collections.Generic.IEnumerable[TSource]" fail because:
Error: in argument #2 (predicate), needed a System.Func[(CfgIzmeritel- * CfgTypeIzmer-)-, bool], got (? * ?) -> bool-: (CfgIzmeritel- * CfgTypeIzmer-) -> bool is not a subtype of System.Func[(CfgIzmeritel- * CfgTypeIzmer-), bool] [simple require]
الحقيقة:الشئ الوحيد الذي(لا)يصدقه الناس!ا الزواج : جمع.وطرح.ثم(ضرب)!ولكنه قبل ذلك(قسمة) المحامي:لسان.وحنجرة.وروب!يدافع عن مال موكله (أعزائي)!وهو لا يعرف أحد منّا!الطالب (الأول)على فصله!لولا وجود الأخرين
Re[2]: LinqToSQL error при построение WebApp с Optimization
[Record]
class CfgIzmeritel
{
_ID_Izmerit : int;
public IDIzmerit : int { get { _ID_Izmerit } }
_ID_TypeIzmerit : int;
public IDTypeIzmerit : int { get { _ID_TypeIzmerit } }
}
С этим изменением работает
def res =
linq<#
from i in _CfgIzmeritel
from c in _CfgTypeIzmer
where i.IDIzmerit == int.Parse(categoryId)
where c.IDTypeIzmerit == i.IDTypeIzmerit
select (c.CaptionForTables)#> ;
الحقيقة:الشئ الوحيد الذي(لا)يصدقه الناس!ا الزواج : جمع.وطرح.ثم(ضرب)!ولكنه قبل ذلك(قسمة) المحامي:لسان.وحنجرة.وروب!يدافع عن مال موكله (أعزائي)!وهو لا يعرف أحد منّا!الطالب (الأول)على فصله!لولا وجود الأخرين
Re[4]: LinqToSQL error при построение WebApp с Optimization
الحقيقة:الشئ الوحيد الذي(لا)يصدقه الناس!ا الزواج : جمع.وطرح.ثم(ضرب)!ولكنه قبل ذلك(قسمة) المحامي:لسان.وحنجرة.وروب!يدافع عن مال موكله (أعزائي)!وهو لا يعرف أحد منّا!الطالب (الأول)على فصله!لولا وجود الأخرين
Re[4]: LinqToSQL error при построение WebApp с Optimization
Здравствуйте, _nn_, Вы писали:
__>Секунду, а что такое DebugType ?
без понятия
Но без него та же ошибка
الحقيقة:الشئ الوحيد الذي(لا)يصدقه الناس!ا الزواج : جمع.وطرح.ثم(ضرب)!ولكنه قبل ذلك(قسمة) المحامي:لسان.وحنجرة.وروب!يدافع عن مال موكله (أعزائي)!وهو لا يعرف أحد منّا!الطالب (الأول)على فصله!لولا وجود الأخرين
Re[6]: LinqToSQL error при построение WebApp с Optimization
Здравствуйте, Shame, Вы писали:
S>Здравствуйте, _nn_, Вы писали:
__>>Секунду, а что такое DebugType ? S>без понятия S>Но без него та же ошибка
А если DebugSymbols использовать ?
Попробуем сначала.
1. Удалить Nemerle полностью включая из Program Files. (Может он в GAC случайно есть, тогда и там удалить)
2. Установить Nemerle build 8725
3. Создать в студии консольное приложение, в релизе должно компилироваться.
Веб приложение с классом из этого архива тоже компилируется без ошибок. И debug и release конфигурации, и с pdb и без. Проверил только что на последней ревизии.
Здравствуйте, _nn_, Вы писали:
__>Проявляется еще ошибка или уже исправлена в последних ревизиях ?
на 8745 повторяется.
Перекидывание всех файлов на новый проект не помоглу.
Было в планах даже переводить Linq на C# код после добавленной App_Code поддержки,
но в данный момент думаю как оменить PostBack на динамической кнопке, что бы она не исчезала.
الحقيقة:الشئ الوحيد الذي(لا)يصدقه الناس!ا الزواج : جمع.وطرح.ثم(ضرب)!ولكنه قبل ذلك(قسمة) المحامي:لسان.وحنجرة.وروب!يدافع عن مال موكله (أعزائي)!وهو لا يعرف أحد منّا!الطالب (الأول)على فصله!لولا وجود الأخرين
Re[3]: LinqToSQL error при построение WebApp с Optimization
Здравствуйте, Shame, Вы писали:
S>Здравствуйте, _nn_, Вы писали:
__>>Проявляется еще ошибка или уже исправлена в последних ревизиях ?
S>на 8745 повторяется. S>Перекидывание всех файлов на новый проект не помоглу.
Есть возможность создать минимальный проект на котором воспроизводится баг ?
P.S.
Не надо на C# переходить, лучше баг поправить
Здравствуйте, _nn_, Вы писали:
__>Не надо на C# переходить, лучше баг поправить
Это срадостью, хотя Nemerle Linq to sql даёт некие странности
(например не могу ставить условия по трём таблицам, могу привести пример чуть позже)
Но мне, конечно, тоже хочется починить его.
Минимальный пример ошибки как-нибудь сделаю.
الحقيقة:الشئ الوحيد الذي(لا)يصدقه الناس!ا الزواج : جمع.وطرح.ثم(ضرب)!ولكنه قبل ذلك(قسمة) المحامي:لسان.وحنجرة.وروب!يدافع عن مال موكله (أعزائي)!وهو لا يعرف أحد منّا!الطالب (الأول)على فصله!لولا وجود الأخرين
Re[4]: LinqToSQL error при построение WebApp с Optimization
using Nemerle.Collections;
using Nemerle.Text;
using Nemerle.Utility;
using Nemerle.Data.Linq;
using System.Data.Linq.Mapping;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Linq;
using System.Data.Linq;
namespace Flow_WEB_Nemerle
{
[Record]
[Table(Name="dbo.CfgARM")]
public partial class CfgARM
{
public this() { }
mutable _ID_ARM : int;
mutable _Logo : array[byte];
[Column(Storage="_ID_ARM", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public ID_ARM : int { get { _ID_ARM; } }
[Column(Storage="_Logo", DbType="Image")]
public Logo : array[byte] { get { _Logo; } }
}
class LinqDataConnection : DataContext
{
public this(connStr : string)
{
base(connStr)
}
public CfgARM : Table[CfgARM] { get { GetTable(); } }
}
}
using Nemerle.Collections;
using Nemerle.Text;
using Nemerle.Utility;
using Nemerle.Data.Linq;
using System.Data.Linq.Mapping;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Linq;
using System.Data.Linq;
using System.Configuration;
using System.ComponentModel;
using Nemerle.Imperative;
namespace Flow_WEB_Nemerle
{
public static class SQLModule
{
public this()
{
_conn.Connection.Open();
_CfgARM = _conn.CfgARM;
}
static connSetting : System.Configuration.ConnectionStringSettings = ConfigurationManager.ConnectionStrings["FlowServerConnectionString"];
static _conn : LinqDataConnection = LinqDataConnection(connSetting.ConnectionString);
public static mutable _CfgARM : Table[CfgARM];
public static GetImageFromDataBase() : array[byte]
{
def res = linq <# from c in _CfgARM
where c.ID_ARM == 5
select (c.Logo)
#>; res.ToArray()[0]
}
}
}
Ошибка 1 internal compiler error: assertion failed in file ncc\optimization\CFG.n, line 123 C:\Program Files\Nemerle\Nemerle.MSBuild.targets 226 10 CrashWithLinq
الحقيقة:الشئ الوحيد الذي(لا)يصدقه الناس!ا الزواج : جمع.وطرح.ثم(ضرب)!ولكنه قبل ذلك(قسمة) المحامي:لسان.وحنجرة.وروب!يدافع عن مال موكله (أعزائي)!وهو لا يعرف أحد منّا!الطالب (الأول)على فصله!لولا وجود الأخرين
Re[5]: LinqToSQL error при построение WebApp с Optimization
using Nemerle.Data.Linq;
using System.Linq;
using Nemerle.Utility;
namespace Flow_WEB_Nemerle
{
[Record]
public class C
{
[Accessor]
a : int;
}
public sealed class QTable[TEntity] : System.Linq.IQueryable[TEntity]
{
public GetEnumerator() : System.Collections.Generic.IEnumerator[TEntity]
{
null;
}
#region IQueryable
public Expression : System.Linq.Expressions.Expression { get { null } }
public ElementType : System.Type { get { null } }
public Provider : System.Linq.IQueryProvider { get { null } }
#endregion
}
public static class SQLModule
{
public static GetImageFromDataBase() : void
{
def tt : QTable[C] = null;
_ = linq <# from c in tt select (c.A) #>;
}
}
}
System.Linq.IQueryable[TEntity] как-то создает проблему.
Пока пытаюсь найти что именно создает ошибку.
А если заменить System.Linq.IQueryable[T] на свой аналогичный класс, то ошибки нет:
public interface MyQueryable[T] : System.Collections.Generic.IEnumerable[T], System.Linq.IQueryable
{}
public sealed class QTable[TEntity] : Flow_WEB_Nemerle.MyQueryable[TEntity]
...
А вот так не работает (!)
public interface MyQueryable[T] : System.Linq.IQueryable[T]
{}
public sealed class QTable[TEntity] : Flow_WEB_Nemerle.MyQueryable[TEntity]
...
Значит где-то идет проверка именно на System.Linq.IQueryable[T] и получается ошибка.
Вот минимальный код для бага:
Даже объекты не понадобились.
using System.Linq;
using Nemerle.Data.Linq;
namespace Flow_WEB_Nemerle
{
public static class SQLModule
{
public static GetImageFromDataBase() : void
{
_ = linq <# from c in (null : IQueryable[object]) select (c.ToString()) #>;
}
}
}
C:\Program Files\Nemerle\Nemerle.MSBuild.targets(226,9):Error: internal compiler error: assertion failed in file ncc\optimization\CFG.n, line 123