LinqtoSqlを使用してデータベースにクエリを実行しています。これが私のデータです:
Name LastName Age
------------------------------
1 Abc Def 15
2 Abc Def 17
3 xyz wss 17
私のLinqtoSqlコードは次のとおりです。
Context _context = new Context("Conn_String");
var table = _context.GetTable<Person>();
List<Person> persons = table.Where<Person>(p => p.Name == "Abc" && p.LastName == "Def").ToList<Person>();
私の理解によると、このクエリは2つのレコードを返すはずです。つまり、レコード1とレコード2です。ただし、レコード1を2回返しています。それがLinqtoSqlのバグであるか、私が間違っていることであるかどうかを教えてもらえますか?
編集:
これは私のDALコードです:
public List<T> GetList<T>(Expression<Func<T, bool>> predicate) where T : class
{
try
{
Context _context = new Context("Conn_String");
var table = _context.GetTable<T>();
return table.Where<T>(predicate).ToList<T>();
}
catch (Exception ex)
{
throw ex;
}
}
私はこのメソッドを次のように呼んでいます:
List<Person> person = DAL.GetList<Person>(p => p.Name == "Abc" && p.LastName == "Def");
foreach(var Person in persons )
{
// Print(person.Age);
}