我正在尝试对外键进行简单更新,但脚本永远不会被发送过来.
这是我正在使用的代码:
using (var db = new MyContext())
{
db.Entry<Contact>(newContact).State = EntityState.Modified;
newContact.ContactOwner = db.Person.Find(3);
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
EF6更新Persons表中的其余列,但它不更新Persons表中的Contact_Id.
人物实体:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public List<Contact> ContactList { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
联系实体:
public class Contact
{
public int Id { get; set; }
public string Email { get; set; }
public string TelNo { get; set; }
public Person ContactOwner { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么? …
我遇到的SQL Server错误如下:
无法为数据库'mainDB'中的对象'dbo.xxx'.'PK_xxx'分配空间,因为'PRIMARY'文件组已满.通过删除不需要的文件,删除文件组中的对象,向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建磁盘空间.
我的问题是为什么MDF文件大小仅限于4GB,而运行的SQL实例是SQL Server 2008 Express Edition(我发现它应该是10GB而不是).
我不知道为什么抛出异常,这是工作代码:
DateTime.Parse("1/12/2012 12:00:00 AM")
Run Code Online (Sandbox Code Playgroud)
这是抛出异常的那个:
DateTime.Parse("1/13/2012 12:00:00 AM")
Run Code Online (Sandbox Code Playgroud)
抛出的异常是"FormatException",包含此消息: "字符串未被识别为有效的DateTime".
这是CurrentCulture值:
System.Globalization.CultureInfo.CurrentCulture
{en-MY}
Calendar: {System.Globalization.GregorianCalendar}
CompareInfo: {CompareInfo - en-MY}
CultureTypes: SpecificCultures | InstalledWin32Cultures
DateTimeFormat: {System.Globalization.DateTimeFormatInfo}
DisplayName: "English (Malaysia)"
EnglishName: "English (Malaysia)"
IetfLanguageTag: "en-MY"
IsNeutralCulture: false
IsReadOnly: true
KeyboardLayoutId: 17417
LCID: 17417
Name: "en-MY"
NativeName: "English (Malaysia)"
NumberFormat: {System.Globalization.NumberFormatInfo}
OptionalCalendars: {System.Globalization.Calendar[2]}
Parent: {en}
TextInfo: {TextInfo - en-MY}
ThreeLetterISOLanguageName: "eng"
ThreeLetterWindowsLanguageName: "ENM"
TwoLetterISOLanguageName: "en"
UseUserOverride: true
Run Code Online (Sandbox Code Playgroud)
有谁知道这里发生了什么?