Im Folgenden ist das Codebeispiel:Linq Query wirft weiter "Konnte keinen konstanten Wert vom Typ System.Object erstellen ....", Warum?
private void loadCustomer(int custIdToQuery)
{
var dbContext = new SampleDB();
try
{
var customerContext = from t in dbContext.tblCustomers // keeps throwing:
where t.CustID.Equals(custIdToQuery) // Unable to create a constant value of type 'System.Object'.
select new // Only primitive types ('such as Int32, String, and Guid')
{ // are supported in this context.
branchId = t.CustomerBranchID, //
branchName = t.BranchName //
}; //
if (customerContext.ToList().Count() < 1) //Already Tried customerContext.Any()
{
lstbCustomers.DataSource = customerContext;
lstbCustomers.DisplayMember = "branchName";
lstbCustomers.ValueMember = "branchId";
}
else
{
lstbCustomers.Items.Add("There are no branches defined for the selected customer.");
lstbCustomers.Refresh();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
dbContext.Dispose();
}
}
ich bin nicht in der Lage zu verstehen, was ich falsch mache. Ich bekomme immer "Konnte keinen konstanten Wert vom Typ 'System.Object' erstellen. Nur primitive Typen ('wie Int32, String und Guid') werden in diesem Kontext unterstützt."
dank Mann LinQ mir eine harte Zeit zu geben :( – Neel
Können Sie den Unterschied zwischen "t.CustID == custIdToQuery" und "t.CustID.Equals (custIdToQuery)" erläutern? Vielen Dank im Voraus – Neel
@Neel Werfen Sie einen Blick auf diese Frage, um den Unterschied zwischen '==' und '.Equals()' zu erklären: http://stackoverflow.com/questions/814878/c-sharp-difference-between- und-gleich – Alex