Isn't this incorrect code generation? Shouldn't LoadAndCloseReader be used instead?
#region PrimaryKey Methods
public PublicationItemCollection PublicationItemRecords()
{
return new PublicationItemCollection().Where(PublicationItem.Columns.ItemID, ItemID).Load();
}