我对linq有点新意,我不确定我的愿望是否可行.我基本上有一个名为User的类,它包含一堆属性.我想只填写我从查询中获取的名称和ID字段.我的查询给了我适当的结果,但我不确定如何将其输入用户.这是我得到的最接近的,但我意识到这是不正确的.
IEnumerable<User> UserList;
UserList = (from o in dbContext.application_user
join p in dbContext.project on application_user.user_id = project.project_manager
select o);
Run Code Online (Sandbox Code Playgroud)
这将返回User_ID,Firstname和Lastname的列表,但它不适合用户.我的用户类有多个变量,所以我想通过调用3个IEnumerables来接近它,类型为int,string和string,如果我可以以某种方式填充一个查询中的所有3个,然后设置User = new User(name = x ,id = x)等
FNameList, LNameList, ID = *insert query here*
Run Code Online (Sandbox Code Playgroud) 也许一个简单的问题,但我找不到答案.我有一个Web表单,我在其中声明我的dbContext.但是,当页面执行回发时,它会覆盖dbContext并丢失对象跟踪.在我准备好处理dbContext之前,如何保持dbContext的安全?
差不多那个.例如,如果我在using语句中与数据库连接,并且使用语句中的某个地方重定向到另一个页面,它会丢弃我的连接还是我必须先手动调用它?
好的,所以我从两个列表的连接中创建了一个匿名类型.我将它绑定到我的转发器上以便在我的页面上显示但是......我不确定最好的方法是什么.我应该在asp页面中做一个Eval()吗?我应该使用新的动态类型吗?这几天这种情况的最佳做法是什么?
我将使这真的很简单.我有两张桌子.
public class User
{
public virtual int UserId { get; set; } //primary key AND foreign key
//user attributes in here
public virtual UserProfile UserProfile { get; set; }
}
public class UserProfile
{
public virtual int UserId { get; set; } //primary key AND foreign key
//profile attributes in here
public virtual User User { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
基本上它们是两个共享1-1关系中的主键的表.这些是否应合并为一个,我不知道,我是基于现有的数据库.
现在,我遇到的问题是我访问它时.
这个代码快速(第二个,也许两个):
List<User> userList; //**This userList is defined elsewhere, but it's a list of about 400 users.
foreach …Run Code Online (Sandbox Code Playgroud) 我对这是如何工作有点困惑.
class TestClass
{
public int ID {get;set;}
public List<Stuff> StuffList {get; set;}
}
class Stuff
{
public int ID {get;set;}
public string Description {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
所以每个TestClass都有一个列表Stuff.我想要做的是找到一个TestClass包含任何Stuff一个ID的0
List<TestClass> TestList = RetrieveAllTestLists();
//Pseudocode:
//
// Find all TestClass in TestList that contain a Stuff with ID == 0;
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它不起作用:
List<TestClass> TestList = RetrieveAllTestLists().Where(x=> x.StuffList.Where(y=> y.ID == 0)).ToList();
Run Code Online (Sandbox Code Playgroud)
谁能向我解释我做错了什么?
我不确定多重选择的语法.我的意思是采用标准的点击元素功能:
$("#target").click(function () {});
Run Code Online (Sandbox Code Playgroud)
意思是 if #target is clicked then do function
并使它成为意思 if #target or #target2 or #target3 is clicked then do function
要么 if #target1 and #target2 are hovered over, then do function
我知道我可以为每一个做一个点击功能,但这似乎是浪费空间,那么我如何更简洁地编码呢?
谢谢.
例如,如果我有一个 int[5] array = {1, 2, 3, 4, 5}
和 int check = 5
有没有一种简单的方法来检查if (check == any item in array)然后做一些事情?
我正在将数据从SQL数据库映射到c#中的对象.问题是,其中一列不幸被命名为"100_hrs".因此,当我创建C#对象时,我在声明中出错:
public float 100_hrs {get; set;}
Run Code Online (Sandbox Code Playgroud)
我试过@在前面使用但是它不起作用.如果该属性的名称与表列的名称不同,则它不会映射.我该如何映射?
我知道我可以这样做:
if(myint == 1 || myint == 2 || myint ==3) //etc...
Run Code Online (Sandbox Code Playgroud)
但我觉得必须有一种更有效的方法来编码.有没有办法可以像这样的工作做出声明?
if(myint.Contains(1 || 2 || 3 || 4))
Run Code Online (Sandbox Code Playgroud)