Tag: entity framework

Dropdownlist数据源并从C#添加额外的项目

我有一个与aspx页面中的DataSource相关联的DropDownList 。 我需要在加载页面时再添加一个项目。 我的代码: 而我正在尝试额外的项目: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ddlVisualTemplate.Items.Add(new ListItem(“None”, string.Empty)); } } 如果我调试代码,它会通过它。 但是当显示页面时,下拉列表不包含”None” 。

Entity Designer是否支持重复关联数据的多对多关系?

包A有一个桌面Y和一个Monitor Z.包B有一个桌面Y和两个 Monitor Z。 我想在Entity Designer创建的数据库中表示该关系。 StandardPackage和StandardMachine (包括台式机,显示器,笔记本电脑等)之间存在多对多关系。 每个季度,我们都会更新我们的包裹,客户下订单。 他们选择一个包,当下订单时,该包的StandardMachines将他们的数据(类型,品牌,型号等)转储到新创建的Machines 。 问题在于实体设计器为StandardPackageStandardMachine关系创建联结表的方式。 联结表有两列对应于关系每端记录的ID,联结表的主键是这两个ID的组合。 因此,对于第一段中的示例,如果Package A的Id为1,则Package B的Id为2,Desktop Y的Id为1,Monitor Z的Id为2,我需要的是 StandardPackageId | StandardMachineId ——————|—————— 1 | 1 1 | 2 2 | 1 2 | 2 2 | 2 但显然你不能有两个2/2记录。 有没有一种很好的方法告诉实体设计器我打算做什么,以便它将为连接表创建一个自动递增的主键列? 或者我是否必须自己手动创建联结表并自行处理关联? 顺便说一句,如果有人甚至知道如何改写我的问题标题,请这样做。

使用Entity Framework将多行插入表中

我和EF玩得很开心。 最初我使用标准linq的以下代码,基本上将一些数据输入到表中。 ManagePreferencesDataContext manpref = new ManagePreferencesDataContext(); tblManagePreference prefMemberID = new tblManagePreference(); { prefMemberID.Username = CreateUserWizard1.UserName; prefMemberID.MemberID = tbxMemberID.Text.ToString(); prefMemberID.LocationID = tbxLocationID.Text.ToString(); prefMemberID.Preference = “MemberID”; } tblManagePreference prefLocationID = new tblManagePreference(); { prefLocationID.Username = CreateUserWizard1.UserName; prefLocationID.MemberID = tbxMemberID.Text.ToString(); prefLocationID.LocationID = tbxLocationID.Text.ToString(); prefLocationID.Preference = “LocationID”; } List ie = new List(); ie.Add(prefMemberID); ie.Add(prefLocationID); manpref.tblManagePreferences.InsertAllOnSubmit(ie); manpref.SubmitChanges(); 现在,我试图使用EF复制相同或相似的代码并完全解开。 […]

OrderBy的正确行为

我遇到了令我困惑的事情,我希望看到你对此事的看法。 事实certificate,linq对sql和entity framework的威胁是连续的顺序。 以下代码仅用于示例,我并未声称它有任何意义: Linq to sql: DataClasses1DataContext db = new DataClasses1DataContext(); var result = (from c in db.Products orderby c.ProductName orderby c.UnitPrice orderby c.UnitsOnOrder select c).ToList(); 它在服务器端产生的是什么: SELECT [t0].[ProductID], [t0].[ProductName], [t0].[SupplierID], [t0].[CategoryID], [t0].[QuantityPerUnit], [t0].[UnitPrice], [t0].[UnitsInStock], [t0].[UnitsOnOrder], [t0].[ReorderLevel], [t0].[Discontinued] FROM [dbo].[Products] AS [t0] ORDER BY [t0].[UnitsOnOrder], [t0].[UnitPrice], [t0].[ProductName] 与Entity Framework进行的相同测试会生成以下内容: SELECT [Extent1].[ProductID] AS [ProductID], [Extent1].[ProductName] […]

从LINQ查询中获取第一个结果 – 当First ()成功时,为什么ElementAt (0)会失败?

我有一个方法AddStudent() ,它查找具有相同名称的学生,如果有同名学生,则从数据库返回现有学生,否则它会创建一个新学生并将其添加到数据库。 我很好奇为什么se = students.First(); 当se = students.ElementAt(0); 当我尝试从LINQ查询中获取第一个结果时失败。 这两种方法不一样吗? 该方法的完整代码如下所示。 public Student AddStudent(string name) { using (SchoolEntities db = new SchoolEntities()) { // find student with same name via LINQ var students = from s in db.StudentEntitySet where s.name == name select s; StudentEntity se = default(StudentEntity); // if student with the same name […]

entity framework代码第一个关联/ FK问题和假设/默认值

我对entity framework能够了解实体之间关系的方式感到非常困惑。 我对此有几个问题。 在一个简单的测试应用程序中,我有一个人员表,一个笔记表和一个图片资产表。 有很多图片,每个都是由一个人拥有(一个人可以拥有多个)。 有许多笔记,每个笔记都由一个人拥有(一个人可以拥有多个)。 最后一个人有一个标志,这是一张图片。 。 public class Person { public int ID { get; set; } public string name { get; set; } public Picture logo { get; set; } } public class Note { public int ID { get; set; } public string Text { get; set; } public Person Owner […]

Model与ViewModel完全相同时该怎么办?

我想知道什么是最佳做法。 我被告知要始终创建ViewModels,并且永远不要使用核心Model类将数据传递给Views。 那讲得通。 让我把事情分开。 但是什么是Model与ViewModel完全相同。 我应该重新创建另一个类还是只使用它。 我觉得我应该重新创作。 只是想知道专家说的话……

IEntityChangeTracker的多个实例不能引用实体对象

我使用EF作为ORM。 我在每个请求上都objectContext了objectContext 。 我将实体保存在缓存层中,因为我的服务获得了大量流量。 我有时得到错误objectContext already disposed为我从缓存中获得的一些实体处理了。 我已将此代码添加到从缓存中重新获取的元素中 if (maMDBEntities.Entry(group).State == EntityState.Detached) { maMDBEntities.Groups.Attach(group); } 但现在我有时会收到这个错误: IEntityChangeTracker的多个实例不能引用实体对象。 从一开始就使用Attach()一个不正确的解决方案?

entity framework连接到Oracle:ODP for .NET“不支持时间”

我有一个entity framework,我有一个远程Oracle服务器,我通过连接字符串配置,我没有运行一些unit testing来确认连接。 我正在使用Oracle.ManagedDataAccess.Client 我收到错误: System.NotSupportedException:Oracle Data Provider for .NET不支持Time 。 我以前找不到任何人收到此错误。 我在想我的Oracle数据库中的表可能有很多提及的时间,但它们只有DATE。 我必须这样做,我将无法以不同的方式访问数据库。 可能导致此错误的原因是什么? 我该如何解决这个问题?

设置’引发了’System.Data.SqlClient.SqlException’类型的exception

我得到了例外,无法弄明白。 Settings =’((BandwidthRestriction.Models.SettingRespository)settingRespository).Settings’引发了类型’System.Data.SqlClient.SqlException’的exception 我有两张桌子。 namespace BandwidthRestriction.Models { [Table(“Settings”)] public class Setting { [Key] public int Id { get; set; } public string Name { get; set; } public string Description { get; set; } public string DefaultValue { get; set; } public string Classification { get; set; } public virtual FacilitySettingOverride FacilitySettingOverride { get; set; […]