Mercurial > pub > bltoolkit
view Source/Data/Linq/TableExpressionAttribute.cs @ 4:f757da6161a1
!bug 100 + 2h fixed gregression
author | cin |
---|---|
date | Sun, 24 Aug 2014 17:57:42 +0400 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection; using BLToolkit.Data.Sql; namespace BLToolkit.Data.Linq { [SerializableAttribute] [AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = true, Inherited = false)] public class TableExpressionAttribute : TableFunctionAttribute { public TableExpressionAttribute(string expression) : base(expression) { } public TableExpressionAttribute(string expression, params int[] argIndices) : base(expression, argIndices) { } public TableExpressionAttribute(string sqlProvider, string expression) : base(sqlProvider, expression) { } public TableExpressionAttribute(string sqlProvider, string expression, params int[] argIndices) : base(sqlProvider, expression, argIndices) { } protected new string Name { get { return base.Name; } } public string Expression { get { return base.Name; } set { base.Name = value; } } public override void SetTable(SqlTable table, MemberInfo member, IEnumerable<Expression> arguments, IEnumerable<ISqlExpression> sqlArgs) { table.SqlTableType = SqlTableType.Expression; table.Name = Expression ?? member.Name; table.TableArguments = ConvertArgs(member, sqlArgs.ToArray()); } } }