在项目外模板解决方案(动态数据Web应用程序)中,我创建了模型,一切正常。-获取表格列表,并选择编辑等
但是我的数据库有一些链接表,其中只包含forgien键,所以列表模板只显示fk值
是否需要将主表中的行列表与基于fk的另一个表的检查结合起来
更类似于SQL中的联接?但是使用LINQ2实体和元模型
下面是List.aspx.cs-这似乎将标准网格绑定到entitydatasource,但这是根据MVC中的路由绑定到当前表的
但是,正如您所看到的,我需要通过模型查询Person、Role和Li
我想测试使用实体框架构建的实体。
我担心的是,使用实体框架意味着直接使用数据源。
那么,你知道如何对基于实体框架的组件进行单元测试吗?显然这很难。Erik在这里雄辩地提出-使用模拟框架怎么样?
在我看来,模拟框架可以帮助您将业务逻辑与数据库隔离开来。我同意,模拟框架是您所追求的。您创建了不从数据源检索的“模拟”对象,并测试该对象中的数据。我个人一直在使用Moq,我喜欢它——还有Rhinomock,还有其他的。您将希望使用模拟框架来检索模拟值,而不是访问真实数据。以下是一些模拟框架的列表,以及一些
我想根据我读取的csv更新和插入一些记录。插入不是问题,但是如何在单个语句中更新一组数据?我不清楚如何加入他们
Update Item
Set
Name = t.Name
From
Item i, TextFile t
Where
i.ItemNo = t.ItemNo
对于Name=t.Name,我创建了一个私有项updateItem originalItem,Item newItem,其中存在更新逻辑
我想知道如何调用此函数并使用更改的记录执行db.SubmitChanges
由于一些商业决定,我需要改变一下我正在做的事情。耶我。:)
目前,我有:
public IOrderedQueryable<ProductDetail> GetProductList(string productGroupName, string productTypeName, Dictionary<string,List<string>> filterDictionary)
{
string whereClause = "ProductGroupN
我的服务项目中有以下代码,它试图根据标签获取帖子列表。。。就像我们在这里讨论的那样,恕我直言,不要把这变成一个meta.stackoverflow.com问题
此服务代码创建一个linq查询,将其传递到存储库,然后返回结果。没什么太复杂的。我的LINQ筛选器方法失败,出现以下错误:-
方法布尔
ContainsSystem.String“”没有
支持转换为SQL
我不确定应该如何更改我的linq过滤器方法:下面是代码
public IPagedList<Post> GetPosts(
我看到ADO.NET EF和LINQ分页结构如下:
var query = ...your normal query here...
int totalRecordCount = query.Count();
var pagedQuery = query.Skip(PageIndex*PageSize).Take(PageSize);
这段代码似乎查询了所有记录,将它们设置到本地内存中,因此它得到了总计数。之后,它使用skip函数将反记录分页到变量pagedQuery中。我错了吗?Comipl
我正在创建一个基于linq语句填充的gridview,sql如下所示:
SELECT TOP 10 IDDesc, UnitUserfield1, UnitUserfield2, ProductPercentage
FROM tblOnlineReportingCOMPLETEWeights
WHERE (MaterialLevel = 'Primary') AND (MaterialText = 'Paper')
ORDER BY ProductPercenta
标签: Linq
defensive-programmingiorderedenumerable
我喜欢防御性编程。
我讨厌抛出异常,但这不是我问题的主题
我对linQ进行了扩展,以便能够使用列名执行order by
public static IEnumerable<T> OrderBy<T>(this IEnumerable<T> list, string sortExpression)
公共静态IEnumerable OrderBy(此IEnumerable列表,字符串排序表达式)
对于防御性编程,如果列名无效,此方法将返回给定的
可能重复:
请原谅我的函数式编程没有必要,但甚至可以使用lamba函数将数组中的每个字符串附加到StringBuilder对象吗
是否可以打开此代码:
// string[] errors = ...
StringBuilder sb = new StringBuilder("<ul>");
foreach (var error in errors)
{
sb.AppendFormat("<li>{0}</li>", error);
}
sb.AppendLin
标签: Linq
linq-to-entities
我用存储过程设置了一个对象实体,但是导航属性总是等于null
目的是包括或加入外部实体
有什么想法吗
谢谢在访问导航属性之前,您必须“加载”导航属性。
如果导航是一个集合,请使用
yourNavigationPropertyName.Load();
如果是单个对象,请使用关联的引用属性:
yourNavigationPropertyNameReference.Load();
在以后的开发中,您应该会遇到一个常见的相关问题。我建议您看看这篇文章,它涉及实体框架延迟加载:
这是一个对象,我将使用
我知道这里已经有几个类似的问题了,但我找不到一个与我的问题相关的问题
我有一个SP声明如下:
CREATE PROC [dbo].[SomeProc]
(
@param1 VARCHAR(255)
, @param2 INT
, @param3 VARCHAR(8)
)
将存储过程添加到数据模型时,它会生成以下签名:
int SomeProc(string param1, int? param2, string param3)
我遇到的问题是,如果我对param3使用长度超过6个
嗨,我想采取一个列表集合,并生成一个单一的csv行。所以拿这个来说
List<string> MakeStrings()
{
List<string> results = new List<string>();
results.add("Bob");
results.add("Nancy");
results.add("Joe");
results.add("Jack");
return results;
我有以下代码,它在自动完成扩展程序中为我提供了一个数组:
return autocomplete.tblAutoCompletes
.Where(p => p.MemberId == memberid && p.LocationId == locationid && p.ACItem.Contains(prefixText))
.OrderBy(p => p.ACItem)
我有一个相对简单的用例,它失败了。考虑下面的代码:
[OperationBehavior(TransactionScopeRequired = true)]
public IEnumerable<StatusRecord> ReadActive(int contactID, bool isActive)
{
var result = from n in ORM.Default.Table<StatusRecord>()
where n.
左连接LINQ并使用位比较
我有一个问题可以描述为(感谢David B对此的澄清):
目标是从左表中为每个OID返回1行,其中左表中记录的计数等于右表中匹配行的计数。当OID、RID和标志在行的标志中设置时,记录匹配
我们正在比较的对象具有以下结构:
public class Roads : List<Road>{}
public class Road
{
public int RID;
public int OID;
public int Check = 1
我正在使用Fluent NHibernate、NH3 build-694和LINQ连接到Oracle 11数据库。然而,我似乎无法从数据库中获取任何数据。连接似乎正在工作,因为如果我更改登录信息,它会抛出一个错误
我正在使用以下代码:
// Setup.
OracleClientConfiguration oracleClientConfiguration =
OracleClientConfiguration.Oracle10
.ShowSql()
标签: Linq
linq-to-entities
我有一个实体对象,Item,看起来像这样
public class Item()
{
IEnumerable<Category> Categories { get; set; }
}
或
但两者都会抛出错误。。。
LINQ to实体中不支持指定的类型成员“类别”。只支持初始值设定项、实体成员和实体导航属性
这个错误告诉了我什么?我如何查询我要查找的内容?是否类别也是EF跟踪的实体?英孚似乎并不这么认为。你在用POCOs吗?通常,1对多的导航属性需要用ICollectionn
标签: Linq
linq-to-entitiesintellisense
我在一个类中有一个函数,它将运行Linq到实体查询(实际上是任何类型的Linq查询),它将在结果集中返回2列。我想向调用我的函数的人返回一个对象,该对象将允许Intellisense知道我返回的内容。
让我解释一下。如果我有这样一个函数:
public static IQueryable GetInfo(MyEntityModel oEntityModel)
{
var query =
(from t in oEntityModel.Table1
from u in t.T
我不希望选择前3条记录,而是希望在单个查询中选择前3条记录。假设您的查询已经在结果集中定义了正确的顺序,您可以使用skip()跳过前两条记录,然后最后获取第三个结果,如果不存在则为null(少于3个结果):
编辑:
实际上,这可以做得更短,因为Take(1)和SingleOrDefault()可以用FirstOrDefault()表示:
var result = query.Skip(2).FirstOrDefault();
假设您的查询已经在结果集中定义了正确的顺序,您可以使用skip()跳
我有一个存储过程,可以向表中添加一些行,这是非常基本的东西。当我在SQLServerManagementStudio中执行存储过程时,它返回的结果很好。但是,当我在应用程序中运行此程序并通过LINQ呼叫SP时,它似乎进入了SP,但SP中的进程失败。相同的参数一切看起来都完全相同
我知道这没什么大不了的,但有没有人知道是什么原因造成的
以下是我的存储过程:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[sp
标签: Linq
linq-to-entities
我有一个EF“Call”类,它有日期、电话号码、呼叫者姓名和通话费用
我的目标是按电话号码对通话进行分组,计算总成本,并得出40个最昂贵通话的结果。我有所有这些工作,但我有问题的投影,我如何获得访问呼叫者的名字
var query =
(
from call in model.Calls
group call by call.TelephoneNumber into g
orderby g.Sum(gr => gr.ActualCost) descending
select new
我有两个从XML报告和数据库加载的对象列表,代码如下所示,我应该对它们进行分析,并根据一些条件将项目标记为0、1、2、3
TransactionResultCode = 0; // SUCCESS (all fields are equivalents: [Id, AccountNumber, Date, Amount])
TransactionResultCode = 1; // Exists in report but Not in database
TransactionResultCo
在我的Entityframework模型中,我有一个类型/表“ModelElement”,它链接到一个类型/表“ElementToComponentMapping”。导航键/外键为“ModelID”和“ElementNo”
我需要编写一个方法,根据某些过滤条件返回ModelElement的实例,其中还包括链接到ModelElement实例的ElementToComponentMapping的内容。挑战在于,我还需要过滤从ElementToComponentMapping返回的内容,这意味着它看起
我有一个MenuObject类,它表示网站的顶级菜单
除其他属性外,该对象还具有以下属性:
public class MenuObject
{
public virtual int Id { get; set; }
public virtual string Title { get; set; }
public virtual List<MenuObject> Children { get; set; }
}
映射已配置为使用fluent nhiberna
在我的应用程序中,我有几个linq查询,它们必须以相同的顺序返回具有相同属性的相同对象类型。
那么,如何定义返回对象的强制属性呢
查询如下:
from foo in bar
select new myobject {
myprop1 = foo.x, //This one must be filled everytime
myprop2 = foo.y
}
谢谢,这是预付款 假设foo.x是一个可为空的整数,那么
来自酒吧里的富
选择新的myobject{
myprop1=foo.x=
下面是一个示例数据集:
OrderProduct是一个表,其中包含作为给定订单一部分的productID。
注意:OrderProduct是一个数据库表,我使用的是EF
订单ID,产品ID
1,1
2,2
3,4
3,5
4,5
4,2
5,2
5,3
我希望能够找到一个只包含我正在搜索的ProductID的订单。因此,如果我的输入是ProductIDS2,3,那么我应该返回OrderID5
我知道如何对数据进行分组,但我不确定如何对组执行选择
以下是我所拥有的:
var q = from op
我有:
var query = session.Query<MyClass>();
// Here I need to execute a detached criteria, like that :
// query.UnderlyingCriteria.Add(SpatialExpression.Within("Geo", extent));
var t = query.Select(item => new MyClassView
如何为以下select sql查询编写LINQ查询:
string brandid="1,2,3"
string bodystyleid="1,2,3"
-------------------
-----------------
select * from car
where brandid in (brandid)
and bodystyleid in (brandid)
----------------------
-------------------
我的具体要求是,如果brandi
我想对下面的“周”进行分类。“InvalidCast异常”告诉我,我甚至还没有接近(不管我对它抛出了什么)
SortedWeek在调试器中看起来不错
我怎样才能把它带回课堂
我实际上不需要最初的Weeks类,因为它将通过JavaScriptSerializer运行。。。虽然我想知道如何分类这个类
Weeks theData = new Weeks();
// pretend its now full of data and I need the weeks sorted on number
va
MSDN中出现了易于理解的CRD示例(创建、读取、删除)
有一个很好的测试数据库,我这样做了,很容易得到所有的例子为CRD工作
甚至在CRD页面上还有方便的子标题:
(创建行)
(读取行)
(删除行)
名为BKMK_UpdateDB的程序不执行CRUD中的U。它的名字是Update,但它确实在CRUD中使用了C
如果我错过了《积垢》中的U,现在就杀了我,停止阅读
这里的一位上师能提供一点帮助吗
为了减轻大师们的垃圾工作负担:下面是代码,就像它出现在屏幕上一样
只需在网页上运行测试数据库creat
我在Microsoft Dynamics CRM 2011中遇到了一个问题
这里我有一套账户,其中有许可证,许可证ae与许可证国家有关,许可证国家与县有关
我希望得到这样的查询输出
但这是不恰当的
strSearch="Some text";
var lstItems = (from county in x.De_countySet
join permitcounty in x.de_permitcountySet on county.De_countyId e
我想用LINQ做一个子选择
我所拥有的,但不正确
var diretores = from item in db.San_PropostaConversa
join sc in db.San_Credenciada
on (item.Credenciada_Id) equals sc.Credenciada_Id
join sp in db.San_Proposta
我在c#中有这个数据表结果
现在我想要这样的结果:
工作1:
请问,有谁能建议我如何使用c#中的“Linq”来实现这一点吗?这可能会奏效(或者至少给你一个想法):
如果数据超过几年呢?这将是一年。老实说,我不知道林克,因为它是紧急的,我写在这里,同时我也在网上阅读另一个林克。谢谢蒂姆的快速回复。我会试着让你知道它是否有效。谢谢大家!@user1254053:编辑了我的答案。嗨,Tim,我在foreach(monthEmpGroups中的var empGroup)上收到了这个错误“指定的强制转换无
任何人都可以针对以下要求提出linq查询
表单上有一个复选框..当我们点击它时..根据下面的数据表,它必须根据项目代码,总和(SoldQty),库存和,最新销售记录值,金额,说明进行分组
你不能分组。以下列
solddate-显示最新的销售日期
部门
类别
一般查询
var resQuery = from i in someQueryable
group i by new {i.groupProperty1, i.groupProperty2} into g
标签: Linq
silverlight-5.0generic-collections
我有一门课是这样的:
public class FileCollection:ObservableCollection<IUserFile>.
List<IUserFile> selectedFiles = new List<IUserFile>;
foreach(string s in names)
{
var matchingFiles = this.SelectMany(userFile => userFile.Name.Eq
当“logLevel”的值为“error”时,下面LINQ语句中的where子句会导致以下错误
错误消息=执行命令定义时出错。有关详细信息,请参见内部异常
内部异常=p_linq_2:字符串截断:max=3,len=5,value='Error'
如果我将&(logLevel==“All”| | logLevel==“Error”)更改为&(logLevel==“Error”)则不再发生错误
似乎为了与“All”进行比较,LINQ试图先将“logLevel”中的值截断为3个字符
这是怎么回事
简化的。EF6
我在PersonId上有两张相关的桌子
Person
PersonPK
FavouriteFood
PersonFK
FoodName
我想得到所有喜欢吃“西红柿”的人
看起来在人和收藏夹食品之间存在一对多关系,您可以得到如下结果:
var query = _db.Person
.Where(r=>
r.FavouriteFoods.Any(t => t.Foo
我有一个需要按特定方式排序的对象列表
相关表格字段包括:
ID(int)
IsMandatory(位)
ParentID(int可为空)
代码(varchar)
我需要先按IsMandatory=true排序,然后按代码排序,但是任何具有ParentID的内容都必须按代码排序,但必须直接显示在具有与ParentID相同ID的行之后(并且这些记录将始终将IsMandatory设置为NULL)
一些示例数据,这也是它们在订购时的显示顺序:
ID=1,IsMandatory=1,ParentID
我正试图用linq编写以下PLSQL查询,但我在组中遇到了一些问题:
select
sub.EmpID,
Min(sub.Stage1) Stage1,
Min(sub.Stage2) Stage2,
Min(sub.Stage3) Stage3,
Min(sub.Prob1) Prob1,
Min(sub.Prob2) Prob2
from
(select
det.det_numbera EmpID,
case when apr.apr_performa = '1'
th
我有以下程序,从数据库中获取数据并将其发送到Main。我可以在函数中迭代结果,但不能在Main中迭代。
计划如下:
void Main()
{
var data = GetAllCountry();
// foreach( var t in data)
// {
// Console.WriteLine("{0}", t.country.ID); //fails here; says country not found
// }
}
// Define other m
我是.NET4.5、bootstrap和LINQ的新手,遇到了一个我不知道如何优雅处理的问题。我希望有人能证实或纠正我的思考过程,如果你觉得特别仁慈,请给我指一个可以帮助我实现目标的资源
我正在开发一个web应用程序上的页面,它将链接到多个外部应用程序。我决定对应用程序进行分组的方式是使用引导选项卡控件,并将每个选项卡设置为逻辑组。我已经编写了LINQ查询,它返回我需要的应用程序的所有信息标题、描述、链接等,但现在我需要按另一个字段(我们称之为ContainerID)对结果进行分组,并将这些组放
我的桌子布置如下:
Section SectionOrder
Sect1 1
Sect2 2
Sect3 3
Sect3 3
Sect1 1
Sect2 2
foreach (var t in myVar)
{
listOfDocTypeSections.Add(t);
}
我需要以正确的节顺序拉出不同的节。这是我正在使用的linq,但由于某些原因,它没有将它们按正确的顺序排列
我遇到了一个有趣的Linq到Sitecore的问题。在这种情况下,我有一个人员目录和一个位置目录,它们都存储在Sitecore中。我正在尝试编写一个搜索函数,允许我搜索附近的人。事实上,人们可以与多个地点联系在一起,这给这一点增加了一点麻烦
到目前为止,方法是找到附近的地点,获取他们的id,然后找到所有与这些地点有关联的人
这大致如下:
var locations=GetNearbyLocations(lat、long、radius)//返回短ID的列表
var searchPredicate=
标签: Linq
automapperprojection
我正在使用AutoMapper ProjectTo将个人实体映射到EmployeeDto。在我的EmployeeDto中,我有一个要捕获的属性的单一地址。因为此人有一个地址集合,所以我定义了映射以捕获第一个地址:
.ForMember(d => d.Address, s => s.MapFrom(m => m.Addresses.FirstOrDefault())
问题是,当我在映射中包含此项时,我收到一个错误,即“指定类型成员”IsDeleted“不受支持…”IsDelet
我使用Xamarin表单构建了一个移动应用程序
所以,
我有两张桌子
采购订单
采购订单明细
public IMobileServiceSyncTable<PurchaseOrders> PurchaseOrdersTable;
public IMobileServiceSyncTable<PurchaseOrderDetails> PurchaseOrderDetailsTable;
当我试图根据采购订单列表中的Id获取采购订单详细信息时
await Purchas
在我的控制器上,我有以下方法:
// GET: api/Base
[HttpGet]
[AllowAnonymous]
public virtual async Task<ActionResult<IEnumerable<T>>> Get(Expression<Func<T, bool>> e)
{
return await items.Where(e).ToListAsync();
}
简短的回答是:您不能处理HTTP请求吗
假设我有100000个Person类型的对象,其中有一个日期属性,其中有生日
我把所有的对象放在一个列表或数组中,也放在一个字典中,在字典中我把日期作为键,每个值都是一个数组/列表,其中有相同生日的人
然后我会这样做:
DateTime date = new DateTime(); // Just some date
var personsFromList = personList.Where(person => person.Birthday == date);
var personsF
我有一个自引用的DB表,用于形成父子关系
身份证件
名称
父ID
1.
A.
无效的
2.
B
1.
3.
C
2.
4.
D
2.
5.
E
1.
这是一个常见的问题,而不是EFCore本机处理的问题
注意事项-您几乎肯定希望添加检查以确保
所有新记录/编辑记录不会无意中创建循环
引用,例如:Temp1=newtemp{Id=1,ParentId=2};Temp2=newtemp{Id=2,ParentId=1}-这将导致加载树时发生不好的事情
首先,不太明显的解决方案是,仅在检索根节点后使用
如何创建包含多个字段的order by表达式
这不是正确的语法:
Expression<Func<Employee, Object>> orderByExpression = null;
orderByExpression = e => e.LastName || e.FirstName;
_service.GetEmployeesAsync(orderByExpression);
Expression orderByExpression=null;
order
标签: Linq
database-performance
为了进行分页,我需要对查询列表进行排序,然后首先使用跳过nFrom的nSize元素
我想知道,从性能的角度来看,查询中的orderby子句的排序是否相同,如下所示
IList<Product> resul = (
from m in db.Products()
where m.CategoryId==cId
orderby m.Name descending
select m
).Skip(nFrom).Take(nSize).ToList();
IList<
1 2 3 4 5 6 ...
下一页 最后一页 共 202 页