喜重複的結果,我使用下面的代碼來獲取用戶ID存在於Gateway_users表Appterms表。但問題是,每當我運行解決方案我得到重複記錄,這是第一次100個記錄與ID和第二次200記錄與重複的ID等。如何避免讓實體框架
public class HomeController : Controller
{
private AppMarketplaceEntities db = new AppMarketplaceEntities();
private InstallTrackerEntities db1 = new InstallTrackerEntities();
public ActionResult Index()
{
List<int> gatewayUserId = new List<int>();
using (var ctx = new InstallTrackerEntities())
{
gatewayUserId = ctx.Gateway_Users.Select(f => f.GatewayuserUID).ToList();
}
using (var ctx2 = new AppMarketplaceEntities())
{
foreach (var id in gatewayUserId)
{
ctx2.AppTerms.Add
(new AppTerm(){ GatewayuserUID = id });
}
ctx2.SaveChanges();
}
return View();
} } }
那麼什麼樣的變化我必須做出上面的代碼來獲得唯一的ID是存在於Gateway_users表,它應該只取一次,而不是重複的記錄。
什麼是'GatewayuserUID'和它在哪兒定義? –
@KarlAnderson它是已經註冊的用戶標識,它在名爲Gateway_users的表中,並且我已經擁有ID的用戶。現在,我需要將其複製到具有與GatewayuserUID完全相同的列名稱的Terms表中。但是當我使用上面的代碼時,每當我將ID填充到導致重複記錄的表中時。 – Dev
你的意思是'gatewayUserId'集合在查詢後包含重複值(很難相信'GatewayuserUID'是主鍵),還是你的意思是'AppTerms'表被填滿了具有相同'GatewayuserUID '(因爲每次進入索引操作時插入新記錄都不奇怪)? – Slauma