Web サイトにアクセスし、そこからデータを抽出してデータベースに保存するクローラーを作成しています。クローラーは、以前の実行で既に見つかったデータも更新する必要があります。
EF POCO でサイトから解析された情報を返します。ParseDataPage
そのプロパティの 1 つは一意の識別子 (db テーブルの主キーでもあります) です。どうすれば EF にオブジェクトを挿入/追加するように指示できますか?
class Program
{
static void Main()
{
var context = (adCreatorEntities) DbContextFactory.GetInstance().GetDbContext<adCreatorEntities>();
var crawler = new DataCrawler();
crawler.Login();
var propertyIds = crawler.GetPropertyIds();
foreach (var id in propertyIds)
{
var poco = crawler.ParseDataPage(id);
context.Properties.Add(poco); //<-- How can I tell EF to update if the record exists or to insert it otherwise??
context.SaveChanges();
}
context.SaveChanges();
if (crawler.LoggedIn)
crawler.Logout();
}
}