두 개의 목록으로 데이터베이스를 시드하려고합니다. 첫 번째 목록은 여러 항목에 불과합니다. 두 번째 목록은 첫 번째 목록을 참조하는 정크입니다. 내가 LINQ를 통해 쓰레기의 두 번째 목록에서 첫 번째 목록에서 항목을 참조하기 위해 노력하고있어,하지만 난 내가 바로 그 일을하고 있지 않다 확신한다 : 예를 들어LINQ를 사용하여 날짜와 datetime을 비교하는 방법은 무엇입니까?
, 목록 1 :
var items = new List<Item>()
{
new Item { ItemtId = 1, DateTime = new DateTime(2014, 09, 05, 12, 30, 30), Text = "Cheese" },
new Item { ItemtId = 1, DateTime = new DateTime(2014, 09, 05, 12, 30, 30), Text = "Lettuce" },
new Item { ItemtId = 1, DateTime = new DateTime(2014, 09, 05, 12, 30, 30), Text = "Ground Beef" },
new Item { ItemtId = 1, DateTime = new DateTime(2014, 09, 03, 12, 30, 30), Text = "Ketchup" },
new Item { ItemtId = 1, DateTime = new DateTime(2014, 09, 03, 12, 30, 30), Text = "Mustard" },
};
var junk= new List<Junk>()
{
new Junk { JunkId = 1, DateTime = new DateTime(2014, 09, 05, 10, 00, 00), Items = items.Where(d => d.DateTime.ToShortDateString() == new DateTime(2014, 09, 05).ToShortDateString()},
new Junk { JunkId = 2, DateTime = new DateTime(2014, 09, 03, 11, 00, 00), Items = items.Where(d => d.DateTime.ToShortDateString() == new DateTime(2014, 09, 03).ToShortDateString()}
};
이것은 나에게 답이되어야하는 것처럼 보입니다. 왜냐하면 나는 단지 시간이 아닌 데이트에만 관심이 있기 때문입니다. 그러나 이런 식으로 씨를 뿌리지는 않습니다. 오류가 발생합니다 :
LINQ to Entities does not recognize the method 'System.String ToShortDateString()' method, and this method cannot be translated into a store expression.
더 나은 솔루션을 구축하는 방법에 대한 의견이 있으십니까?
UPDATE
내가 사이트에 정확하게 내 코드를 전사하고, 내 문제를 발견 결국하지 않은 것 같은데. 내 원래의 코드에서
, 내가했다 :
new Junk { JunkId = 1, DateTime = new DateTime(2014, 09, 05, 10, 00, 00), Items = context.Items.Where(d => d.DateTime.Date == new DateTime(2014, 09, 05) }
내가 가진해야 할 때
new Junk { JunkId = 1, DateTime = new DateTime(2014, 09, 05, 10, 00, 00), Items = items.Where(d => d.DateTime.Date == new DateTime(2014, 09, 05) }
I가() .ToShortDateString 불필요하게
그것은'.ToShortDateString()' –