Telerik OpenAccess وشروط متعددة في جملة WHERE
-
08-07-2019 - |
سؤال
ولقد كتبت للتو بعض الاختبارات وحدة وبلدي الرعب فشلت.
وهنا هو بلدي اختبار ...
[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);
}
}
المحلول
وبعد الاتصال بدعم Telerik، واتضح أن لا يكون ذلك ممكنا.
لا تنتمي إلى StackOverflow