我正在阅读教程,他们说您不应该使用实体类型来映射到投影。所以这样的事情是不允许的(其中产品是实体创建的类):
from p in db.Products
where p.ProductID== ProductID
select new Product { Name = p.Name};
Run Code Online (Sandbox Code Playgroud)
所以我会创建一个新类,其中包含以下内容:
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后使用如下查询:
from p in db.Products
where p.ProductID == ProductID
select new SomeNewClassName { Name = p.Name });
Run Code Online (Sandbox Code Playgroud)
这真的有必要吗,还是只是额外的工作?如果我要创建这个类,它将拥有与我的实体对象完全相同的属性,那么还有什么意义呢?如果需要,我对这个新类使用的命名约定是什么,因为它几乎与我的实体类相同。另外,我不应该使用实体对象在 ASP.net MVC 项目中创建强类型视图吗?
尝试使用 Gradle 创建一个简单的 SpringBoot 应用程序 - Api with DataBase。当尝试使用 api 调用从表中获取数据时,在 Postman 中出现异常:
{
"timestamp": "2018-04-01T12:45:40.218+0000",
"status": 500,
"error": "Internal Server Error",
"message": "could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet",
"path": "/api/demo/towns"
}
Run Code Online (Sandbox Code Playgroud)
在有下一个例外的想法中:
2018-04-01 15:44:29.553错误17532 --- [nio-8080-exec-2] ohengine.jdbc.spi.SqlExceptionHelper:“字段列表”中的未知列“city0_.country_code”2018-04-01 15 :44:29.578 ERROR 17532 --- [nio-8080-exec-2] oaccC[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] 在路径 [] 的上下文中抛出异常 [请求处理失败;嵌套异常是 org.springframework.dao.InvalidDataAccessResourceUsageException:无法提取 ResultSet;SQL [不适用];嵌套异常是 org.hibernate.exception.SQLGrammarException: 无法提取 ResultSet] 其根本原因
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)〜[na:1.8.0_144]在sun.reflect.NativeConstructorAccessorImpl的“字段列表”中未知列“city0_.country_code” .newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_144] 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_144] 在 java.lang.reflect.Constructor.newInstance (Constructor.java:423) ~[na:1.8.0_144] 在 …
我在 C++ 标准的第 3 章“基本概念”中看到了一句话。
为什么指针不被归类为实体?即使其中包含引用。
实体是值、对象、引用、函数、枚举数、类型、类成员、位域、模板、模板特化、命名空间或参数包。
我正在学习 Spring 和 Hibernate。我准备了图像的实体。这些字段已成功保存到数据库中作为列名,但我需要一些属性存在于实体中但不保存到数据库中。但实际上他们正在被拯救。我尝试删除或使用 @Column 注释,@Column(insertable=false, updatable=false)
但没有成功。总是获取数据库中具有空值的列。那么如何防止Spring和Hibernate创建某些字段的列。我正在尝试用字段来做到这一点size
,width
并且height
。
单位代码:
package tk.trzczy.gallery.domain;
import javax.persistence.*;
import java.awt.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
@Entity
@Table(name = "images")
public class Image {
@Id
@SequenceGenerator(name = "mySeqGen6", sequenceName = "mySeq6", initialValue = 11, allocationSize = 100)
@GeneratedValue(generator = "mySeqGen6")
private Integer id;
@Column(nullable = false, length = 300)
private String title;
@Column(nullable = false)
private String url;
@Column(insertable=false, updatable=false)
private Long width;
@Column(insertable=false, updatable=false)
private Long height; …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 EntityFramework Core/6 与数据库交互。我希望 DbContext 类尽可能精简。我这样做的一种方法是将任何存储库构建配置移动到特定的类,如下所示
public class ProductViewConfiguration : IEntityTypeConfiguration<ProductView>
{
public void Configure(EntityTypeBuilder<ProductView> builder)
{
builder.ToTable("viewProducts");
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在尝试配置DbSet<ProductView>
视图。所以我不需要跟踪这个存储库中的任何更改。所以我需要以某种方式构建/配置DbSet<>
它AsNoTracking()
。
如何使用EntityTypeBuilder<>
构建器将 DbSet 配置为只读?
我有一个 SQL 记录表,其日期字段类似于
|----日期----| 2016年1月22日 1986年2月3日 1992年12月9日 2016年10月9日
我想做一个 linq to 实体查询来获取一组唯一的年份,例如
var years = {"2016", "1986", "1992"}
Run Code Online (Sandbox Code Playgroud)
我从上一个问题中找到了一个答案,将提取唯一的日期,但我只需要翻译成年份。
我有一个名为User的实体,我想创建一个DateTime字段。
我的课:
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass="App\Repository\UserRepository")
*/
class User
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=250)
*/
private $firstName;
/**
* @ORM\Column(type="string", length=250)
*/
private $lastName;
/**
* @ORM\Column(type="string", length=250, nullable = true)
*/
private $userName;
/**
* @ORM\Column(type="string", length=50)
*/
private $email;
/**
* @ORM\Column(type="string", length=20)
*/
private $password;
/**
*@Assert\DateTime()
*/
private $regData;
// GETTERS AND SETTERS
}
Run Code Online (Sandbox Code Playgroud)
运行时php …
entity ×8
java ×3
c# ×2
hibernate ×2
linq ×2
annotations ×1
c++ ×1
date ×1
final ×1
mysql ×1
persistence ×1
php ×1
pointers ×1
spring ×1
spring-boot ×1
sql-server ×1
standards ×1
symfony ×1