Инициализатор никогда не вызывается, если вы не имеете доступа к БД. Если вы хотите создать БД, когда приложение начнет вызывать метод Initialize
в вашем файле Global.asax:
context.Database.Initialize(true)();
Проблема заключается в том, что вы устанавливаете Инициализатор в другом экземпляре Database
попробуйте это:
using (var db = new AppDataContext())
{
db.Database.SetInitializer(new AppDataContextInitializer());
db.Database.Initialize(true);
}
Или установите Инициализатор в конструкторе DbContext
:
public AppDataContext()
{
Database.SetInitializer(new AppDataContextInitializer());
}
Вы смотрите на преобразование JSON, и, конечно, это может быть достигнуто с помощью специального программирования. Я могу объяснить вам, как вы можете достичь этого в Java, но функционально он будет таким же для любого программирования по вашему выбору. Ваш вход json будет выглядеть так:
[{
"epsilon_id": 194029423,
"weather": "cloudy",
"temperature": 27
},
{
"epsilon_id": 932856192,
"weather": "sunny",
"temperature": 31
}]
Когда вы разбираете java с помощью популярной библиотеки Jackson, вы получите список объектов для ниже класса:
class Input
{
@JsonProperty(access = Access.WRITE_ONLY)
String epsilon_id,
String weather,
int temperature
}
Затем вы создать объект карты Map<Integer, Input>
, заполнить данные, как показано ниже:
Map<Integer, Input> map = new HashMap<>();
for(Input obj : listOfInputs){
map.put(obj.epsilon_id, obj)
};
Сериализовать свою карту результатов с помощью Джексона снова, чтобы получить желаемый формат вывода:
{
194029423: {
"weather": "cloudy",
"temperature": 27
},
932856192: {
"weather": "sunny",
"temperature": 31
}
}
Если вы не очень хорошо знакомы с Java & amp; Разбор Джексона JSON, я нашел этот учебник с образцом кода, который даст вам головной убор.
import csv, json, os
# rename this file or pass it in as process.argv[2]
# then pipe output into another file. or
with open("./foo.csv") as f:
output = {}
for line in csv.DictReader(f):
key = line.pop("epsilon_id")
if output.has_key(key):
print("Duplicate Id -> {} ".format(key))
output[key] = line
# then pipe this output into another file.
print(json.dumps(output, indent=2))
# or write a file
with open("/tmp/foo.json",'w') as f:
json.dump(output, f)
Python делает это довольно легко: это обнаружит все типы из файла csv.
SimpleDateFormat
. Ссылка1 & amp; Reference2 – Amith Kumar 13 July 2018 в 21:00