小编Dan*_*dry的帖子

无法使用自定义数据库初始化程序

我正在构建一个简单的MVC应用程序来管理库.出于开发目的,我希望EF每次模型更改时都会删除并重新创建数据库,并填充一些示例数据.在这一刻,我努力让初始化器工作.Initializer类如下所示:

public class LibraryInitializer : DropCreateDatabaseIfModelChanges<LibraryContext>
{
    protected override void Seed(LibraryContext context)
    {
        // sample data to be writted to the DB
    }
}
Run Code Online (Sandbox Code Playgroud)

上下文类看起来像这样:

public class LibraryContext : DbContext
{
    public DbSet<User> Users { get; set; }
    public DbSet<Book> Books { get; set; }

    public LibraryContext()
    {
        Database.SetInitializer<LibraryContext>(new LibraryInitializer());
    }
}
Run Code Online (Sandbox Code Playgroud)

此时我收到以下错误:

无法使用实例引用访问成员'Database.SetInitializer(IDatabaseInitializer)'; 用类型名称来限定它

根据Web上提供的许多指南,这是使用初始化程序的方法,但我不知道为什么会出现此错误.任何帮助都会得到很大的帮助.谢谢!

.net c# asp.net-mvc entity-framework

5
推荐指数
1
解决办法
2643
查看次数

在React Component中使用NPM包

我尝试在我的React组件中使用Pannellum NPM软件包

Pannellum的API可以这样使用:

pannellum.viewer('panorama', {
    "type": "equirectangular",
    "panorama": "https://pannellum.org/images/alma.jpg"
});
Run Code Online (Sandbox Code Playgroud)

我认为以下代码:

import React, { Component } from 'react';
import './App.css';
import pannellum from 'pannellum';

class App extends Component {

  componentDidMount() {
    pannellum.viewer('panorama', {
      "type": "equirectangular",
      "panorama": "https://pannellum.org/images/alma.jpg"
    });
  }

  render() {
    return (
      <div id="panorama"></div>
    );    
  }
}

export default App;
Run Code Online (Sandbox Code Playgroud)

会工作。但是事实并非如此。我懂了TypeError: __WEBPACK_IMPORTED_MODULE_2_pannellum___default.a.viewer is not a function

还尝试了另一个不同的import语句: import { pannellum } from 'pannellum';const pannellum = require('pannellum');但是这些也不起作用。

有趣的是,Pannellum的API javascript代码已捆绑在一起,一旦我注释掉componentDidMount()并在页面加载后尝试通过Chrome Dev Tools控制台使用该API,它就可以工作。但是,没有应用CSS样式。 …

npm reactjs pannellum

5
推荐指数
1
解决办法
1710
查看次数

C#在超类对象上操作时访问子类变量

我正在构建一个简单的德语学习辅助程序,其中一个元素是字典.为了管理所有的话,我已经添加了三类:Noun,AdjectiveVerb.它们都继承自另一个抽象类Word.名词类还包含Article枚举.所有的单词(形容词,名词和动词对象)都存储在一个List<Word>..我在ListView列中打印它们或者更具体地说 - 在访问我想要的字段时遇到问题.

基本上,我想循环遍历列表中的所有单词.在执行此操作时,检查当前项是否为名词(对象的名词类型) - 如果是,请获取其文章.如果没有,请打印" - ",然后将单词翻译添加到列.

这是方法:

private void UpdateList(List<Word> currentWordList) //passing the List
{
    wordsListView.Items.Clear();
    int index = 1; // first column of the number

    foreach (Word w in currentWordList)
    {
        ListViewItem newItem = new ListViewItem("" + index);
        if (w is Noun)
            newItem.SubItems.Add(w.Article); //here is the error (no definition for "Article")
        else
            newItem.SubItems.Add("--");

        newItem.SubItems.Add(w.GermanTranslation);
        newItem.SubItems.Add(w.PolishTranslation);

        wordsListView.Items.Add(newItem);
    }
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

非常感谢您的帮助.

c# inheritance loops

1
推荐指数
1
解决办法
746
查看次数

LINQ - 按名称分组到Dictionary <string,List <T >>

我正在构建一个库应用程序.我有一个书籍列表,其中一些书籍有一个重复的名称(同一本书的副本很少).我想将列表转换为Dictionary>,其中字符串将是书的名称,List将包含具有此名称的所有Book对象.

我成功地做到了这一点:

var result  = queriedBooks
                .GroupBy(b => b.Name)
                .Where(g => g.Count() >= 1)
                .ToDictionary(b => b.Key, /// );
Run Code Online (Sandbox Code Playgroud)

这是我被卡住的地方.我不知道该作为一个值传递什么.Intellisense也没有帮助,因为没有Value可用的属性.我想避免使用匿名对象,因为每个Book条目都有许多我在视图中使用的属性.

非常感谢你!

c# linq dictionary

1
推荐指数
2
解决办法
409
查看次数