Mercurial > pub > bltoolkit
view Source/Data/Linq/SqlExpressionAttribute.cs @ 9:1e85f66cf767 default tip
update bltoolkit
author | nickolay |
---|---|
date | Thu, 05 Apr 2018 20:53:26 +0300 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using System.Reflection; namespace BLToolkit.Data.Linq { using Data.Sql; using Reflection; [SerializableAttribute] [AttributeUsageAttribute(AttributeTargets.Property | AttributeTargets.Method, AllowMultiple = true, Inherited = false)] public class SqlExpressionAttribute : SqlFunctionAttribute { public SqlExpressionAttribute(string expression) : base(expression) { Precedence = Data.Sql.Precedence.Primary; } public SqlExpressionAttribute(string expression, params int[] argIndices) : base(expression, argIndices) { Precedence = Data.Sql.Precedence.Primary; } public SqlExpressionAttribute(string sqlProvider, string expression) : base(sqlProvider, expression) { Precedence = Data.Sql.Precedence.Primary; } public SqlExpressionAttribute(string sqlProvider, string expression, params int[] argIndices) : base(sqlProvider, expression, argIndices) { Precedence = Data.Sql.Precedence.Primary; } protected new string Name { get { return base.Name; } } public string Expression { get { return base.Name; } set { base.Name = value; } } public int Precedence { get; set; } public override ISqlExpression GetExpression(MemberInfo member, params ISqlExpression[] args) { return new SqlExpression(TypeHelper.GetMemberType(member), Expression ?? member.Name, Precedence, ConvertArgs(member, args)); } } }