Tag: entity framework

必须使用dbcontext.Database.SqlQuery声明标量变量’@custid’?

我试图使用EF5从bcontext.Database.SqlQuery执行存储过程。 抛出一个错误must declare the scalar variable ‘@custid’ var results = _MiscContext.Database.SqlQuery( “exec sp_GetStaff @custid”, customerNumber).ToList(); 如果customerNumber是工作人员,则SP返回1 ,否则返回empty行。 ALTER PROCEDURE [dbo].[sp_GetStaff] @custid varchar(12) AS BEGIN SET NOCOUNT ON; SELECT 1 AS [C1] FROM [dbo].[Staff] with (nolock) WHERE [CUSTOMER_ID] = @custid END 如何管理?

Linq查询的行为不符合预期

我有一个非常简单的linq查询,如下所示: var result = (from r in employeeRepo.GetAll() where r.EmployeeName.Contains(searchString) || r.SAMAccountName.Contains(searchString) orderby r.EmployeeName select new SelectListItem { Text = r.EmployeeName, Value = r.EmployeeName }); 这个问题是出于一些奇怪的原因,它把我搜索的每个人的记录都记录下来,无论是小写还是大写。 即 测试用户 测试用户 测试用户 我会找回正确的记录。 然而,当我使用小写字母搜索我自己的名字时,我没有得到任何结果,但如果我使用我的名字的第一个字母作为大写,那么我得到结果。 我似乎无法弄清楚为什么这样做。 数据库中的每个名字和姓氏都以大写字母开头。 我正在使用的searchString是: richard – 我得到了正确的结果 waidande – 未找到结果 上述两个用户都在数据库中。 我也使用Entity Framework来查询Sql Server 2012 。

数据实体>域对象> ViewModels,每个都具有截然不同的数据结构

对于数据实体,域对象和ViewModel之间的映射,这是一个通用问题。 我可能不会问它,但希望我能理解它。 以下是一个简化的问题。 假设我有一个entity framework模型,它将1:1映射到我的数据库表,但我的域对象可能不相同,我的ViewModel再次完全不同。 作为一个伪示例: 数据库/ EF实体: MembershipAccount MembershipAccountExtraInfo 域: 帐户 轮廓 喜好 视图模型: UserProfileModel 假设我需要显示一个UserProfileModel,它具有:Username( 来自MembershipAccount ),SignupDate( 来自MembershipAccount ),FullName( 来自MembershipAccountExtraInfo )和TimeZone( 来自MembershipAccountExtraInfo ) 我可能需要什么样的关系,以及什么样的映射机制? 像AccountMapper这样的东西会同时接受MembershipAccount和MembershipAccountExtraInfo并返回一个帐户吗? 当需要几个对象来创建单个域实体时,我有点卡在映射上,反之亦然。 如果它有帮助:我正在设计一个用于管理用户帐户,用户配置文件,用户首选项等的API,但数据库表到处都是。 可能需要从跨越4-5个表和2个数据库的数据创建单个用户配置文件。 我的数据库表和任何(逻辑)域对象之间没有1:1映射。 谢谢!

EF5不会创建枚举列

我有这样的模型: namespace Ad.NegCred.Data.Model { public enum DataKind { F, //Takibe alınıp henüz tahsil edilmeyen ferdi kredi bildirimi FA, //Aynı dönemde takibe alınan ve tahsil edilen ferdi kredi bildirimi FF, //daha önceki dönemlerde takibe alındığı bildirilmiş ferdi kredi tahsil bildirimi K, //Takibe alınıp henüz tahsil edilmeyan kredi kartı KA, //Aynı dönemde takibe alınan ve tahsil edilen […]

忽略Entity Framework 6中的所有属性,但忽略一些属性

我想使用Entity Framework在数据库上保留一些数据。 我有一些更大的POCO但我只想存储一些属性。 我知道我可以使用Ignore()方法通过Fluent API实现这一点。 但是,是否有可能不仅忽略已定义的属性而且忽略所有属性但定义的属性? 所以如果你有这样的POCO: public class MyPoco { public int Id { get; set; } public string Name { get; set; } . . . public int SomeSpecialId { get; set; } } 而你只想存储Id和SomeSpecialId ,你会这样做: protected override void OnModelCreating(DbModelBuilder builder) { builder.Entity().Ignore(x => x.Name); builder.Entity().Ignore(x => x.WhatEver); . . . // ignore […]

排序自引用关系

假设以下模型。 请注意自引用关系“parent”。 public class Category { public virtual long Id { get; set; } public virtual string Name { get; set; } public virtual Category Parent { get; set; } public virtual long? ParentId { get; set; } } 我的数据如下: id | name | parentId 1——–tag 1 —– null 2——–tag 2 —– 1 3——–tag 3 […]

无法更新数据库“* .mdf”,因为只读EntityFramework

我有一个C#.NET Framework 4.0桌面应用程序,entity framework为DAL。 当尝试将数据保存到任何机器上的DBContext但我的时候,我收到了一个例外 Failed to update database “*.mdf” read only 我把我的数据库放在.exe文件附近,在文件夹“DAL / AppData”中。 如何在其他计算机上允许写入权限? 我可以通过编程方式完成吗? 我已经读过我可以把DB放到AppRoaming文件夹中,但这不是我的变种。 提前致谢。

entity framework:获取Repository中的Subclass对象

我有以下模型对应于下面列出的数据库表。 经理是员工。 会计师也是雇员。 获取存储库中所有管理器的最佳方法是什么? 如何实现GetAllManagers()方法? TPT是否合适? 码 MyRepository.MyEmployeeRepository rep = new MyEmployeeRepository(); List e = rep.GetAllEmployees(); public class MyEmployeeRepository { private string connectionStringVal; public MyEmployeeRepository() { SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder(); sqlBuilder.DataSource = “.”; sqlBuilder.InitialCatalog = “LibraryReservationSystem”; sqlBuilder.IntegratedSecurity = true; // Initialize the EntityConnectionStringBuilder. EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(); entityBuilder.Provider = “System.Data.SqlClient”; entityBuilder.ProviderConnectionString = sqlBuilder.ToString(); […]

包含在linq查询中

嗨我正在使用entity framework和LinQ。 我有一个名为users的表对象。 我有一个名为userids的列表。 我必须找到字符串中包含ids的所有用户。 我必须做以下操作…… select * from users where userid in (userids); 我试着像这样解决这个问题 var u = context.users.Where(o=> usersid.Contains(o=> o.userid)).Select(o=> o); 但它给出了编译错误。 怎么解决这个?

entity framework – Fluent APi – 使用2 FK创建表格

我有这个产品类,其中包含相关产品列表。 例如: 产品= StarWar AssociatedProducts =第五集:帝国反击,第六集:绝地归来,第七集:原力觉醒 但EF使用一些额外的列生成数据库。 这是我的产品类别: public class Product { public int Id { get; set; } public string Name { get; set; } public string ShortDescription { get; set; } public string FullDescription { get; set; } public decimal UnitPrice { get; set; } …… public virtual ICollection AssociatedProducts { get; set; […]