-2
我檢查是否有任何重複,同時通過使用驗證屬性張貼對象從視圖到控制器。它的工作原理,但我想知道是否有更好的方法可以遵循(可能會添加客戶端驗證)。任何反饋讚賞。更好的方法來檢查列表中的重複項
[AttributeUsageAttribute(AttributeTargets.Property, AllowMultiple = true, Inherited = false)]
public class DuplicateObjectAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value != null)
{
if (value.GetType() == typeof(List<OrdersVM>))
{
List<OrdersVM> objOrdersList = (List<OrdersVM>)value;
if (objOrdersList != null && objOrdersList.Count > 0)
{
if (objOrdersList.Select(p => p.OrderId).Distinct().Count() != objOrdersList.Select(p => p.OrderId).Count())
return false;
}
}
}
return true;
}
}
感謝奧斯汀,我想是因爲我的意見在我的項目數用它來獲得建議/反饋。 – Sunny
@Sundeep就績效而言,這不應該是一個問題。我相信它在O(n)時間運行。 –