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