EntityField truncated with IPredicate using a sql View

Posts   
 
    
nato24 avatar
nato24
User
Posts: 14
Joined: 10-Apr-2007
# Posted on: 04-Sep-2009 19:28:52   

I'm using Version 2.6 Final ( October 6th, 2008 ) with Sql Server 2005. No templates in use.

I have a sql view that creates an extra varchar field.

Sql View sample:


SELECT 'Chart Review Assignment' AS Task FROM UserTask

In the designer, the fields will have a length of 23. Which mine does. But when I try to query with a predicate expression on that field, it get truncated.

I've watch the entityfield get set in the debugger; no problem, but I can see it gets trucated when I view it in the sql profiler.

Calling code:


            TaskCollection tasks = new TaskCollection();

            //filter on meeting
            PredicateExpression baseFilter = new PredicateExpression();
            baseFilter.Add(TaskFields.ReviewMeetingId == reviewMeetingId);

            if (providerFilter != 0)
            {
                baseFilter.AddWithAnd(TaskFields.ReviewProviderId == providerFilter);
            }

            //filter on user roles
            string[] userRoles = UserManager.GetRolesForUser(HttpContext.Current.User.Identity.Name);
            if (!userRoles.Contains("Administrators"))
            {
                PredicateExpression roleFilter = new PredicateExpression();
                foreach (string userRole in userRoles)
                {
                    roleFilter.AddWithOr(TaskFields.Task == userRole);
                }
                baseFilter.AddWithAnd(roleFilter);
            }

            SortExpression sort = new SortExpression(TaskFields.LastName | SortOperator.Ascending);
            sort.Add(TaskFields.Task | SortOperator.Ascending);

            tasks.GetMulti(baseFilter, 0, sort);
            return tasks;

Here's the generated query:

exec sp_executesql N'SELECT [dbo].[Task].[ReviewProviderId], [dbo].[Task].[ReviewMeetingId], [dbo].[Task].[Action_Provider] AS [ActionProvider], [dbo].[Task].[LastName], 
[dbo].[Task].[FirstName], [dbo].[Task].[Task], [dbo].[Task].[Complete], [dbo].[Task].[LastModified], [dbo].[Task].[ModifiedBy], [dbo].[Task].[Action] FROM [dbo].[Task]  WHERE ( 
( [dbo].[Task].[ReviewMeetingId] = @ReviewMeetingId1 AND ( [dbo].[Task].[Task] = @Task2))) ORDER BY [dbo].[Task].[LastName] ASC,[dbo].[Task].[Task] ASC',N'@ReviewMeetingId1 
int,@Task2 varchar(20)',@ReviewMeetingId1=3,@Task2='Chart Review Assignm'

Thanks, Nathan

nato24 avatar
nato24
User
Posts: 14
Joined: 10-Apr-2007
# Posted on: 04-Sep-2009 19:41:52   

nvm, user error. simple_smile