Telerik OpenAccess и несколько условий в предложении where - PullRequest
1 голос
/ 07 мая 2009

Я только что написал несколько юнит-тестов, и, к моему ужасу, это не удалось.

Вот мой тест ...

[TestMethod]
public void FetchWithMoreThanOneConditionUsingKnownTypes() 
{
  using (var scope = EntityObjectScopeProvider.GetNewObjectScope()) 
  {
    var temp = new TempClient() { FirstName = "Rohan", Surname = "West" }; 
    var entity = scope.Extent<ClientEntity>().Where(c => temp.FirstName == c.FirstName && temp.Surname == c.Surname).FirstOrDefault(); 

    Assert.IsNotNull(entity);
    Assert.AreEqual(entity.FirstName, temp.FirstName); 
    Assert.AreEqual(entity.Surname, temp.Surname); 
  }
}

это дает мне следующее исключение: Невозможно привести объект типа 'Entities.Testing.TempClient' к типу 'System.String'. Это нормально, я надеюсь, нет, следующий тест работает правильно. Я думаю, что есть проблема при разборе выражения ... Это будет исправлено?

[TestMethod]
public void FetchWithMoreThanOneConditionUsingTempVariables() 
{
  using (var scope = EntityObjectScopeProvider.GetNewObjectScope()) 
  {
    var temp = new TempClient(){ FirstName = "Rohan", Surname = "West" };   

    string firstname = temp.FirstName; 
    string surname = temp.Surname; 

    var entity = scope.Extent<ClientEntity>().Where(c => c.FirstName == firstname && c.Surname == surname).FirstOrDefault(); 

    Assert.IsNotNull(entity);
    Assert.AreEqual(entity.FirstName, temp.FirstName);
    Assert.AreEqual(entity.Surname, temp.Surname); 
  }
}

1 Ответ

1 голос
/ 21 сентября 2009

После обращения в службу поддержки Telerik это оказалось невозможным.

...