我正在将项目从Visual Basic .Net转换为C#; 我已经能够找出大部分差异并使代码工作,但我遇到了诸如以下代码片段之类的障碍:
private void rtbSend_KeyDown1(object sender, KeyEventArgs e)
{
if (e.KeyCode == 17)
{
blnCtrlKey = true;
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译时,我在主题行中得到错误; 令我困惑的是,KeyCode的值应该已经是int,所以错误对我来说没什么意义.谁能指出我正确的方向?我想让这个代码的程序将在4月中旬开始工作.
我有以下型号的问题:
public class ProjectPage
{
[Key]
public Guid Id { get; set; }
public Guid? HeaderId { get; set; }
public ProjectPage Header { get; set; }
public Guid? FooterId { get; set; }
public ProjectPage Footer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在模型创建我有这个:
modelBuilder.Entity<ProjectPage>().HasOptional(p => p.Header).WithMany().HasForeignKey(p => p.HeaderId).WillCascadeOnDelete(true);
modelBuilder.Entity<ProjectPage>().HasOptional(p => p.Footer).WithMany().HasForeignKey(p => p.FooterId).WillCascadeOnDelete(true);
Run Code Online (Sandbox Code Playgroud)
但我无法更新数据库.我在Package Manager控制台中遇到以下错误:
在表'ProjectPages'上引入FOREIGN KEY约束'FK_dbo.ProjectPages_dbo.ProjectPages_FooterId'可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束.
有人可以解释如何删除项目页面(可以是另一个项目页面中的页脚或页眉)?
我正在尝试使用Entity Framework实现一个系统.这是我的两个班级
一级
public class ConsumableGood
{
public ConsumableGood() { }
public Guid ConsumableGoodId { get; set; }
public string ConsumableGoodName { get; set; }
public string ConsumableGoodPrice { get; set; }
public virtual Category Category { get; set; }
public ICollection<ConsumableGoodsStock> ConsumableGoodsStocks { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
第二类
public class ConsumableGoodsStock
{
public ConsumableGoodsStock()
{
}
public Guid ConsumableGoodsStockId { get; set; }
public double ConsumableGoodPriceIn { get; set; }
public double ConsumableGoodPriceOut { get; set; }
public int …Run Code Online (Sandbox Code Playgroud) 我正在使用实体框架来管理我的sql-server-ce数据库.我希望我的表的主键由其他表的几个外键组成.我期待这样的事情发挥作用:
class Bill{
[Key]
public virtual Customer Customer { get; set; }
[Key]
public virtual Era Era { get; set; }
[Key]
public virtual CompanyCode CompanyCode { get; set; }
public long? Amount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
但它导致以下数据库迁移错误:
BillPrinter.Bill :: EntityType'Bill'没有定义键.定义此EntityType的键.Bills:EntityType:EntitySet'Bills'基于类型'Bill',没有定义键.
如何让我的表有一个主键由这三个外键组成?
我已经看过这个问题一百万次,但我遇到的每一个建议我似乎已经覆盖了.
我的MVC解决方案中有实体框架,我有一个'存储库',它试图检索MyObjects 的集合:
public static List<MyObject> GetMyObjects()
{
using (var context = new MyEntities())
{
return context.MyObjects.Include("Contact").OrderByDescending(o => o.Date).ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
我将此方法称为控制器操作的一部分,该操作尝试将其序列化:
public JsonResult All()
{
return Json(MyRepository.GetMyObjects(), JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ObjectContext实例已被释放,不能再用于需要连接的操作.
我不知道在哪里开启这个,我欣赏实体框架'懒加载'关系数据集,如果需要它们,我感谢尝试序列化整个集合确实会尝试加载这些(在使用声明),但我有"包括".
我试过的
我已经尝试了'包含',我也确保没有其他关联是MyObject该类的一部分(即我没有其他Include()的可写).
我正在尝试编写一个搜索函数,我可以在其中传递一个 Func ,该函数允许我指定要搜索的字符串属性。实体框架 6 抱怨我正在尝试调用一个函数,这是不允许的。有没有办法重写以下内容以便我可以将其与 EF 一起使用?
public List<Person> SearchPeople(string searchTerm, Func<Person, string> selector)
{
return myDbContext.Persons.Where(person => selector(person).Contains(searchTerm)).ToList();
}
Run Code Online (Sandbox Code Playgroud)
LINQ to Entities 不支持 LINQ 表达式节点类型“Invoke”。
我正在尝试使用 npm 库来帮助我呈现 pdf 文档。我找到了 react-pdf 但它还没有 TypeScript 的类型,所以我正在使用它,如下所示:
let Document = require('react-pdf');
let Page = require('react-pdf');
class PdfViewer extends React.Component<PdfViewer.Props, PdfViewer.State> {
constructor(props: PdfViewer.Props) {
super(props);
this.state = {
numPages: null,
pageNumber: 1,
};
}
onDocumentLoadSuccess = ( numPages: number ) => {
this.setState({ numPages });
}
componentWillReceiveProps(nextProps: PdfViewer.Props) {
// this.setState(CsvViewer.parse(nextProps.data));
}
render() {
const {url} = this.props;
const { pageNumber, numPages } = this.state;
const buffer = data as ArrayBuffer;
return (
<div>
<Document
file={url}
onLoadSuccess={this.onDocumentLoadSuccess}
> …Run Code Online (Sandbox Code Playgroud) 我有一个Sql Server 2012数据库,我试图使用EF Power Tools 2的逆向工程师代码优先选项在Visual Studio 2012 SP1中生成代码优先POCO /映射.
设置连接属性后,将生成以下错误.我已经研究过网络但没有运气如何解决这个问题.任何帮助,将不胜感激.
编译转换:找不到类型或命名空间名称'EfTextTemplateHost'(您是否缺少using指令或程序集引用?)
我如何在EF中加入以下内容?表之间没有关系,没有外键。
Select t1.ID, t1.firstname, t2.ID,t2.name from MY_TEST_TABLE1 t1, MY_TEST_TABLE2 t2
where t1.firstname = t2.name
Run Code Online (Sandbox Code Playgroud) 我被困在试图找出每个单词出现的句子中。该条目将是一个句子列表
Question, what kind of wine is best?
White wine.
A question
Run Code Online (Sandbox Code Playgroud)
输出将是
// format would be: word:{count: sentence1, sentence2,...}
a:{1:3}
wine:{2:1,2}
best:{1:1}
is:{1:1}
kind:{1:1}
of:{1:1}
question:{2:1,3}
what:{1:1}
white:{1:2}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所得到的:
static void getFrequency(List<String> inputLines) {
List<String> list = inputLines.stream()
.map(w -> w.split("[^a-zA-Z0-9]+"))
.flatMap(Arrays::stream)
.map(String::toLowerCase)
.collect(Collectors.toList());
Map<String, Integer> wordCounter = list.stream()
.collect(Collectors.toMap(w -> w, w -> 1, Integer::sum));
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我只能得到每个单词出现在所有句子中的次数,但我还需要获得该单词出现的句子列表。看起来也许是为了获取我可以使用的句子的 id IntStream.range,如下所示:
IntStream.range(1, inputLines.size())
.mapToObj(i -> inputLines.get(i));
Run Code Online (Sandbox Code Playgroud)
但我不确定这是否是最好的方法,我是 Java 新手
c# ×6
asp.net-mvc ×2
sql ×2
code-first ×1
dispose ×1
java ×1
java-8 ×1
java-stream ×1
lambda ×1
linq ×1
react-pdf ×1
reactjs ×1
typescript ×1