我正在使用Code First Entity Framework.
我使用以下简单类:
public class Users
{
public ICollection<Projects> Projects{get;set;}
}
public class Projects
{
public ICollection<Users> Users{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用linq进行数据检索.执行以下查询时:(注意lstProjects是List<Project>)
var lstUsers = (from users in lstProjects
where users.ProjectId == pId
select users.Users).ToList();
Run Code Online (Sandbox Code Playgroud)
我有一个List<Users>对象,并希望用项目填充此列表.喜欢,
var lstUsersToDisplay = new List<Users>();
lstUsersToDisplay = (List<Users>)lstUsers; //This can't be cast.
Run Code Online (Sandbox Code Playgroud)
什么是转换的方式ICollection<T>来List<T>?
其次,我已经List<Users>并希望将其转换为ICollection<Users>如何实现这一目标?
编辑:
场景,更清楚的是所有Projects都被加载lstProjects,我们需要选择Users映射到特定项目的.这些用户也包含在Projects集合中.如果我分解了lstProjects,那么每个Project都有它的Users collection样子:
lstProjects …
我是Entity Framework的初学者.我有一些条款会产生问题.我正在考虑代码优先架构
通过在父类中创建子类的属性来解决1对1,在子类中,我们将父类的id标记为外键.
喜欢
public class Parent{
//code
public Child Child{get; set;}
}
public class Child{
[ForeignKey("Parent")]
public int ParentId{get; set;}
}
Run Code Online (Sandbox Code Playgroud)一个1对多的关系,我们使用
public class Parent {
//code
public IList<Child> Child { get; set; }
}
public class Child {
[ForeignKey("Parent")]
public int ParentId{get; set;}
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?
\*-\*通过IList<class>在两个类中添加来解决.
但我解决问题,我有2班Categories和Products.
在Product类中,属性定义为
public class Products {
public virtual Category Category { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在Category课堂上,产品以这种方式被调用
public …Run Code Online (Sandbox Code Playgroud) c# asp.net entity-relationship entity-framework entity-framework-5
我知道我需要一个格式化的Newtonsoft Json回复,但我不知道该怎么做,而且我似乎找不到可以帮助我的教程或任何类型的文档。
这是我现在拥有的代码。dtb 是我需要以格式化Newtonsoft Json响应返回的数据库响应
da.Fill(dtb)
return Json(dtb);
Run Code Online (Sandbox Code Playgroud)
这不起作用,当我尝试运行下一批代码时出现错误
Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>((Newtonsoft.Json.Linq.JObject.Parse(response)["d"]).ToString());
UserModel m = (UserModel)JsonConvert.DeserializeObject<UserModel>(response);
if (m.Username == context.UserName && m.PasswordHash == myHash)
{
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它在这个错误的第一行中断
+ $exception {"Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path '', line 1, position 1."} Newtonsoft.Json.JsonReaderException
Run Code Online (Sandbox Code Playgroud)
错误编辑1:
Newtonsoft.Json.JsonSerializationException: 'Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'AuthorizationServer.api.Models.UserModel' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error …Run Code Online (Sandbox Code Playgroud) 我有文本框和网格视图。在网格视图中还有正在验证的文本框。在页脚中有一个按钮,如果网格视图当前行通过验证,则创建新行。
问题是,当按下网格视图内的按钮时,它还会验证网格外的内容。这个怎么控制?
我的 aspx 代码如下:
<h4>Worked Date</h4>
<asp:TextBox runat="server" ID="txtDateOfWorkForInserting" CssClass="form-control" EnableViewState="false" ClientIDMode="Static" ValidateEmptyText="true"/>
<asp:RequiredFieldValidator ID="rfvDateOgWork"
CssClass="text-danger" ControlToValidate="txtDateOfWorkForInserting"
runat="server" EnableViewState="true" ErrorMessage="*" ToolTip="Select Date" Display="Dynamic" ></asp:RequiredFieldValidator>
<asp:GridView ID="gvWorkDone" runat="server" ShowFooter="True" AutoGenerateColumns="False"
CellPadding="4" GridLines="None" OnRowDeleting="gvWorkDone_RowDeleting" CssClass="table-responsive table table-striped"
Style="text-align: left" >
<Columns>
<asp:BoundField DataField="RowNumber" HeaderText="SNo" />
<asp:TemplateField HeaderText="Work Description">
<ItemTemplate>
<asp:TextBox ID="txtWorkDone" runat="server" CssClass="form-control multilineTextbox" TextMode="MultiLine" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtWorkDone"
ErrorMessage="*" SetFocusOnError="True" InitialValue="<% %>"></asp:RequiredFieldValidator>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Time To Complete">
<ItemTemplate>
<asp:DropDownList runat="server" ID="ddlTotalTime">
<asp:ListItem Selected="True">1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem> …Run Code Online (Sandbox Code Playgroud)