Я могу возвратить 'идентификационное' поле после того, как LINQ вставит?

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
180
задан Brian Webster 13 September 2012 в 12:05
поделиться

2 ответа

После фиксации объекта в дб, объект получает значение в своем поле ID.

Так:

myObject.Field1 = "value";

// Db is the datacontext
db.MyObjects.InsertOnSubmit(myObject);
db.SubmitChanges();

// You can retrieve the id from the object
int id = myObject.ID;
264
ответ дан T.J. Crowder 23 November 2019 в 06:14
поделиться

Когда вставка сгенерированного идентификатора сохраняется в экземпляр сохраняемого объекта (см. ниже):

protected void btnInsertProductCategory_Click(object sender, EventArgs e)
{
  ProductCategory productCategory = new ProductCategory();
  productCategory.Name = “Sample Category”;
  productCategory.ModifiedDate = DateTime.Now;
  productCategory.rowguid = Guid.NewGuid();
  int id = InsertProductCategory(productCategory);
  lblResult.Text = id.ToString();
}

//Insert a new product category and return the generated ID (identity value)
private int InsertProductCategory(ProductCategory productCategory)
{
  ctx.ProductCategories.InsertOnSubmit(productCategory);
  ctx.SubmitChanges();
  return productCategory.ProductCategoryID;
}

ссылка: http://blog.jemm.net/articles/databases/how-to-common-data-patterns-with-linq-to-sql/#4

15
ответ дан Jason Stevenson 23 November 2019 в 06:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: